#help-development

1 messages ยท Page 2175 of 1

wet breach
#

That is because Unity works with Microsoft

echo basalt
#

just plug your mobo straight into mains power

wet breach
#

Before, Unity required Mono

earnest forum
#

they have their own vs module

echo basalt
#

and unplug it on specific timings

wet breach
#

now it uses straight native C# ๐Ÿ™‚

sterile token
#

Unity was not designed by microsoft in theory

#

Also Linux is full native C#

kind hatch
#

Are you sure about that one?

tardy delta
#

people who confused java with js ๐Ÿ’€

echo basalt
sterile token
next zinc
#

Anyone know how to teleport a user to a specific world?

sterile token
tardy delta
earnest forum
#

"aren't they the same thing?"

next zinc
tardy delta
#

lmao

next zinc
#

ty

sterile token
#

HHAA he was really interested on money

echo basalt
#

java is to javascript like car is to carpet

earnest forum
#

yea lol

echo basalt
sterile token
#

plug?

#

shameless

#

I need to buy a book for english words

tardy delta
#

or use google translate

earnest forum
#

just Google "plug" meaning

#

the last definition

sterile token
#

Ram = 32GB
Intellij = Ram - 16gb
Mc server = Ram - 4gb
And rest 8 for OS

#

๐Ÿ˜‚

tardy delta
#

what

earnest forum
#

16gb for intellij?

sterile token
#

Yeah

iron glade
#

just download more ram

sterile token
#

I dont know how

tardy delta
#

lmao

sterile token
earnest forum
#

paged ram

sterile token
#

Who has menu library here? I need links

echo basalt
#

intellij wouldn't suck 16gb ram if you didn't open every single project you've ever made at once

sterile token
#

I dont know

#

Why it consume so much

#

Maybe because i have lot of plugins

echo basalt
#

I got 4 large projects open and it's only sucking in 500mb ram total

iron glade
#

my intellij takes 1.8gb for a single open project

tardy delta
#

intellij using more ram than i have in total

sterile token
#

haha

#

Even more i need to limit intellij process to consume only 16gb

#

If not it consume even more

tardy delta
#

rf are you doing

echo basalt
sterile token
#

Lof of plugins the way the IDE plugins

dusk flicker
#

My PC idles at 17

opal juniper
#

mine idles at 8

#

but windows just uses as much as it wants really

tardy delta
#

i only got 8 gigs lol

#

but i figured out i can put 8 more

sterile token
#

Lmao i didnt thought that return; will fuck my life

quaint mantle
#

hi

sterile token
#

Im literally saying return; on an event and the code still running

quaint mantle
#

what

sterile token
#

I have and if (!(conditon1 && contidon2)) return;

#

For some reason, its still running instead of stopping the code execution

humble tulip
#

I doubt java is wrong here

sterile token
#

Let me send a cap

eternal oxide
kind hatch
#

That means that your conditions aren't being met.

sterile token
#

No

#

The 2 are being false

#

1 sec

#

Wait let me try something i have just seen

humble tulip
eternal oxide
#

actually yes

humble tulip
#

Both have to be true for your code to execute

eternal oxide
#

the && is the confusing part as in reality either being false will result in the whole being false

kind hatch
#

Honestly, boolean logic is confusing at times.

humble tulip
#

It can be replaced with if(!condition1 ||! condition2)

sterile token
#

In memory i think is more fast to use !(contidtion && contidion)

#

As im not sure i dont say it

#

I realized what could be wrong

waxen plinth
#

The difference is almost nothing

sterile token
#

Allright thanks for saying it

waxen plinth
#

To the point where the compiler might even swap it around to optimize it if one is faster, but it would pretty much never do anything in the first place

#

Java does have short circuiting so I think the way with && is actually faster for 2 reasons

#

Only 1 boolean negation instead of 2

#

Actually nevermind

#

Short circuiting is equally fast with || or && just in different scenarios

sterile token
#

redempt why your menu system its weird?

waxen plinth
#

So it's only faster because 1 less boolean negation which is nothing

#

What do you mean?

#

InventoryGUI?

sterile token
#

its like its okay, but contains too much things that make things diff to understand

#

Yeah

waxen plinth
#

Like what

#

I find it really simple for when I need a GUI

humble tulip
#

It's not gonna matter because your code is probably orders of magnitude more inefficient somewhere else

sterile token
#

I dont understand how you keep track of 2 diff menu types but only with a map

waxen plinth
#

What do you mean

#

I never really need maps

#

I just create one class with a static getter for a GUI, one for each GUI I need

sterile token
#

Because i keep track of Map<UUID, Menu> then when im parsing each menu interfce to the type i get CastEceptions

waxen plinth
#

And they can send players to each other by just doing SomethingGUI.open(player)

waxen plinth
#

Cause if you have something like that then you're probably already using an advanced GUI framework

sterile token
# waxen plinth What do you need to parse into a menu??

Let say im the map i track any menu type, for example InventoryMenu (normal) and PaginatedMenu (paged menu), in the interface commons methods which are implemented in the types. But PaginatedMenu contains extra methods

#

Which i think its causing the CastException

waxen plinth
#

PaginatedMenu?

#

Do you mean PaginationPanel

sterile token
#

Im talking about my simple

#

That i get CastException

#

Sorry if i messed you with your library

waxen plinth
#

Did you modify the code in it

#

If so then I can't really help you because I don't know what you changed, and even if I read it, I wouldn't necessarily understand all the implications

sterile token
#

My library i code it manually

waxen plinth
#

Then why did you ask me for help with my menu system if you wrote it

sterile token
#

But i want to understand why i get cast exception

#

Just was asking because i see interest yur library But them i changed topic. My bad

waxen plinth
#

You're casting an object to a class that it isn't

sterile token
#

Hmn

#

Why if the menu types, implements menu interface

#

That the reason i dont understand the exception

waxen plinth
#

If you're trying to cast between them that won't work

#

Because casting cannot change the type of an object

#

It can change the type of a primitive but it's deceptive for that reason

#

Casting is more or less just a compiler step that checks the type at that point and then allows you to access it as some more specific type than what you originally had it stored as

sterile token
#

PaginatedMenu paged = menuMap.getMenu(uuid); // Which return a menu object, super interface of PaginatedMenu

waxen plinth
#

You can't change an object into something it's not

#

You can only access it as a type it already is

sterile token
#

Why?? If the PaginatedMenu access implement the methods?

#

๐Ÿค”

#

Sorry for being necious but i want to fully understand the why

waxen plinth
#

Because that's not what casting is

#

Different types have different fields, java can't just arbitrarily mash up the memory trying to figure out how to fill them in when changing the type

#

If you want something converted you have to convert it yourself

#

If you want more abstract behavior to be represented without the need for a new class every single time, look into using lambdas to define behavior in your code

sterile token
#

So lamda do what i need?

#

So how i can fix it? without making them checking instaceof on every code?

#

That my last question about the topic

#

And thanks for answering

waxen plinth
#

Your questions are too vague to really answer specifically

#

Lambdas are one way to allow for wide ranges of behavior without needing a ton of subclasses

#

I don't know what you're trying to do so I can't say if they are the best tool for your situation

#

I still don't know what you're trying to cast or why, you shouldn't be needing to check instanceof on something every time, if you are then you're not designing your code well

sterile token
#

Let say i have this:

class MenuHandler  {

   Map<UUID, Menu> menus = new HashMap<>();

   Menu getMenu(UUID uuid) {
     return this.menus.get(uuid); 
   }
}


interface Menu {

void open(Player player);

void close(Player player);

}


class InventoryMenu implements Menu {
  
  void open(Player player) {}

  void close(Player player) {}
}

class PaginatedMenu implements Menu {

  void next();

  void previous();  

  void open(Player player) {}

  void close(Player player) {} 
}
waxen plinth
#

Oh

#

No

sterile token
#

Do i explain with code?

waxen plinth
#

If PaginatedMenu is an extension of the behavior of InventoryMenu

#

It should be PaginatedMenu extends InventoryMenu, not PaginatedMenu implements Menu

sterile token
#

Okay

humble tulip
#

shouldnt next and previous also take player as an arg?

sterile token
#

was just as an eample

humble tulip
#

oh ok

waxen plinth
#

Not necessarily

sterile token
#

Just to explain what i was trying to do

waxen plinth
#

I could see good design being one inventory that serves as many players as needed and is shared between all of them

#

In which case next/back with no player would make sense

sterile token
#

Because how looks now without chaging i need to check instanceof, if not i get a CastException

humble tulip
#

one inventory can still serve many players

sterile token
#

Redempt, so the interface its not neccessary

#

And thanks!!

#

I was trying to fix this since 1 or 2 weeks

polar arch
#

I want to make a levelling system in my plugin. I really just need to store uuid and exp count. Do I have to use a database?

ivory sleet
#

nope

#

but its highly recommended

waxen plinth
#

but for scalability you'll want a database

slate mortar
#

i wonder... what does Player#updateInventory actually do exactly? to me it seems like it does nothing... does it only update certain things?

river oracle
#

looks like its depricated

#

from looking at the source

ivory sleet
#

well

#

it just throws the player a packet in principle

#

yk

#

trying to sync the server inventory with what the player got

waxen plinth
#

I've had to use it before

#

but rarely

wet breach
#

usually need to do that when you remove stuff

#

but in simpler terms, what conclure said

slate mortar
#

to me it looks like it got undeprecated by spigot

#
    /**
     * Forces an update of the player's entire inventory.
     *
     */
    //@Deprecated // Spigot - undeprecate
    public void updateInventory();```
weird
wet breach
#

deprecated doesn't mean you can't use it

dusty herald
#

literally me

tranquil viper
#

How do I make a WorldBorder slowly move? At the moment, the current WorldBorder I have just teleports to the position it's being updated to. The codeline I use is: overworldBorder.setCenter(pig.getLocation());

slate mortar
#

the setSize method has a parameter for the time which it will take to shrink/increase

#

dunno if theres one for the setCenter as well

tranquil viper
#

I've seen moving ones before that are timed though

slate mortar
#

yea it's possible to do it manually

#

but it'd require manually moving the worldborder's center every tick ig

#

or every x ticks, depending on the speed

flint carbon
#

.java.lang.NoSuchMethodError: 'net.kyori.adventure.text.format.TextDecorationAndState net.kyori.adventure.text.format.TextDecoration.withState(boolean)'

I keep getting an error, I think I need to relocate something but I'm not sure can anyone please help, I've been stuck on this for 3 days :/

slate mortar
#

to me that looks like a question that you may ask in the paper discord

#

afaik net.kyori stuff is paper

ivory flume
#

How would I translate & color codes to adventure component texts

delicate lynx
#

TextComponent.fromLegacyText() I think?

ivory flume
#

o

#

ty

#

i don't think that exists

delicate lynx
ivory flume
#

nice that was in my IDE so i hope my server also has it without me needing to shadow it

fierce salmon
#

What event checks to see if a specific item with no item meta is clicked in an inventory?

humble tulip
round finch
#

welp i think i need to relearn config get paths etc

patent quarry
#

Hey is it possible to hide the hearts displayed when hitting an entity ?

onyx fjord
patent quarry
slate mortar
#

aren't particles controlled completely by resourcepacks?

onyx fjord
#

I guess you could spoof it with packets

#

Like tell client they did less damage

slate mortar
#

i think that may mess with some client mods

#

like damage indicators etc

onyx fjord
#

Labymod does that

#

I can't think of a better way

slate mortar
#

you can just upload a resourcepack to the server, and make the particles transparent i think

onyx fjord
#

Yea idk if they want that

#

Can you cancel particle spawn tho?

slate mortar
#

to me that sounds better than messing with packet modification

rocky rampart
#

[1.18.2, ProtocolLib] How to properly create a RESPAWN packet?

slate mortar
#

i mean

#

particles are entities right?

onyx fjord
#

I don't think so

slate mortar
#

hm

onyx fjord
#

Are they

patent quarry
#

Nop

rocky rampart
#

No, particles have their own system in place

patent quarry
onyx fjord
#

Yes that would be dum

patent quarry
#

I'll see if I can do something with the packets ty

onyx fjord
#

Gl

slate mortar
#

idk that much about packets yet, but cant you just "cancel" receiving them?

rocky rampart
#

You can with a packet interceptor

onyx fjord
#

You can also search for particle remover plugins and maybe look what they offer inside

rocky rampart
onyx fjord
#

Plib is friendly

slate mortar
#

i myself use the old way of the messaging channel still lol

#

enough for my needs

onyx fjord
#

Its wiki vg that scared me

slate mortar
#

i mostly mess with custom packet data anyway

rocky rampart
#

My struggle is translating wiki.vg to protocollib code

#

Like the thread I created a second ago lol

slate mortar
#

well anyway, to me the resourcepack way would look like the easiest and most compatible way

onyx fjord
#

Its additional loading screen

slate mortar
#

and if it only contains one texture, i don't think it'll take that much loading time

onyx fjord
#

Mojang fucked up that ome

#

One

slate mortar
#

yea, resource reloading is like the weirdest thing in mc

#

funfact: on clientside logic, they mixed the splash screen together with resource loading, which means you cannot create an own splash screen without reinventing like everything apparently

rocky rampart
#

The project I'm working on generates a resource pack on load and serves it through a http server built into the plugin, it was the best way to solve the problem I hit.

slate mortar
#

if you do so, the resources don't load lmfao

#

they reload the resources in the fucking render method i could die rn

spiral hinge
#

Does anyone know any good libraries that make it easier for configuration with TOML and works with Maven? I tried "Night Config" and it was alright but I wanna see if anyone knows any good alternatives.

harsh totem
#

How do I get all endermen in a world?

slate mortar
#
for(Entity e : world.getEntities()){
  if(e.getType() == EntityType.ENDERMAN){
    Enderman enderman = (Enderman) e;
    //do whatever you like
  }
}
tardy delta
#

discord font looks so much better on windows lol

harsh totem
#

Indeed

tardy delta
#

im still using linux

golden kelp
#

linux ๐Ÿ˜

golden kelp
#

i m on arch and its working sick as fuck

harsh totem
#

Light theme users๐Ÿค“

golden kelp
#

whotf uses light theme

#

they cant read this msg cuz they are blind rn

tardy delta
rough drift
#
short x = 4;
short y = 4;
short z = 3;
int pos = 0;
pos |= x << 12;
pos |= y << 8;
pos |= z;
x = (short) (pos >> 12);
y = (short) (pos >> 8);
z = (short) (pos);
System.out.println(x + " " + y + " " + z);
```Now I ain't great at maths, but the output should not be "4 68 17411"
#

why is it like that

#

(Basically: help I am bad at bit operations)

golden kelp
golden kelp
earnest forum
tardy delta
#

they arent

#

afaik

tender shard
#

particles are nothing

#

they are just a packet to the client "play some shitty particles here and there"

green prism
#

hello guys

#

in ur opinion is there any serious way to improve/optimize a plugin?

eternal oxide
#

an unanswerable question. Every plugin is different

tender shard
harsh totem
#

Why does it work fine when I'm in lava but doesn't work when I'm in cauldron filled with lava?

    public void DeadlyLavaKill(PlayerMoveEvent event){
            Player player = event.getPlayer();
            Location loc = player.getLocation();
            Block locBlock = loc.getBlock();
            Material block = locBlock.getType();
            if (block == Material.LAVA || block == Material.LAVA_CAULDRON){
                inLava.add(player.getUniqueId());
            }
        }```
tender shard
#

print out the material and see what it really is

harsh totem
#

ok

eternal oxide
#

what is a LAVA_CAULDRON?

#

a cauldron full of lava?

tender shard
#

a cauldron filled with lava I guess?

eternal oxide
#

can you stand in a cauldron?

harsh totem
#

but it doesn't work

tender shard
#

what exactly doesn't work

eternal oxide
#

teh code is fine

harsh totem
#

oh wait

tender shard
#

btw I wouldn't use the move event for this at all but rather a runnable

harsh totem
#

i think i know how to fix it

tender shard
#

for example a player might be in a lava cauldron and then empties it with a bucket. now the player didn't move, and is not in lava anymore, but your plugin still thinks they are in lava

green prism
eternal oxide
#

Are you moving away from the EntityDamageEvent you were using?

harsh totem
# tender shard what exactly doesn't work

I have this:


    public DeadlyLava (JavaPlugin plugin){

        Bukkit.getScheduler().runTaskTimer(plugin, task -> {
            inLava.removeIf(id -> {
                Player player = Bukkit.getPlayer(id);
                player.setNoDamageTicks(0);
                player.damage(1);

                if (player.getHealth() <= 0 || player.getLocation().getBlock().getType() != Material.LAVA || player.getLocation().getBlock().getRelative(BlockFace.UP).getType() != Material.LAVA || player.getLocation().getBlock().getType() != Material.LAVA_CAULDRON){
                    player.setNoDamageTicks(20);
                    return true;
                }
                return false;
            });

        }, 0, 5);
    }

    @EventHandler
    public void DeadlyLavaKill(PlayerMoveEvent event){
            Player player = event.getPlayer();
            Location loc = player.getLocation();
            Block locBlock = loc.getBlock();
            Material block = locBlock.getType();
            System.out.println(block);
            if (block == Material.LAVA || block == Material.LAVA_CAULDRON){
                inLava.add(player.getUniqueId());
            }
        }```
It's supposed to deal damage to the player when he's in lava and it does but it doesn't work when its lava cauldron
final monolith
#

hey guys, how i can get a NMS ItemStack from a Bukkit ItemStack without cloning?

harsh totem
outer sorrel
#

is there a good way to get the build number of a spigot jar? not using the spigot API or anything

eternal oxide
#
if (player.getHealth() <= 0 || player.getLocation().getBlock().getType() != Material.LAVA || player.getLocation().getBlock().getRelative(BlockFace.UP).getType() != Material.LAVA || player.getLocation().getBlock().getType() != Material.LAVA_CAULDRON)```
this logic will not work for a thre way of differing types
harsh totem
#

?

#

why not?

#

@eternal oxide The schedule does work correctly but when im in lava cauldron I only get the damage if I move in it

eternal oxide
#

teh player is not going to be in both lava and a cauldron

harsh totem
#

I want it to deal damage even when i stand still

eternal oxide
#

yes, thast if is your issue

#

one sec

harsh totem
#

and not &&

#

oh it needs to be &&

#

wait

eternal oxide
#

?paste

undone axleBOT
eternal oxide
harsh totem
#

I changes this to && instead of ||

#

and it works

eternal oxide
#

nope

harsh totem
#

wdym nope

eternal oxide
#

changing that to an && isn;t going to fix it

harsh totem
#

it works

#

how doesn't it fix it if it did

eternal oxide
#

you need to remove the player from being damaged IF his health is 0 or he's not in lava, not AND

harsh totem
#

I havent changes it

#

only the other ones after it

#

if (player.getHealth() <= 0 || player.getLocation().getBlock().getType() != Material.LAVA && player.getLocation().getBlock().getRelative(BlockFace.UP).getType() != Material.LAVA && player.getLocation().getBlock().getType() != Material.LAVA_CAULDRON){

eternal oxide
#

ok

#

yes thats ok

#

look at the change I posted

#

it does the same fix as yours, but also moves the damage Materials to an EnumSet, reduces the number of checks and makes it more readable

harsh totem
#

what is EnumSet

eternal oxide
#

Creates an Enum from teh elements you provide

#

basically

harsh totem
#

ok

eternal oxide
#

however it has all the functionality of a Set

harsh totem
#

thank you

#

and is there a way to make the damage reason from lava?

eternal oxide
#

Not unless you manually fire a Damage event and modify the health yoruself

harsh totem
#

ok

slate mortar
tender shard
tender shard
#

Material (and many other enums) will soon(TM) be replaced with normal classes, so using an enumset will break your plugin in future versions

#

instead, use a normal HashSet

harsh totem
#

oh

tender shard
#

the changes will mostly be bytecode compatible, so you don't have to worry about it too much unless you explicitly refer to Materials as being Enums (EnumSet, switch/case, ...)

green prism
#

does anyone know how to create subcommands?

tender shard
#

simply check the first given argument

#

if someone does /mycommand mysubcommand someparameter, then args[0] will be "mysubcommand"

slate mortar
#

or write a command manager, which will spare time in long terms

tender shard
#

or use an existing library like ACF

#

but in general the answer is "simply check what the first given argument is"

slate mortar
#

or quit minecraft and play fortnite /j

tender shard
#

uuugh

slate mortar
#

:^)

tender shard
#

I would die 100thousand deaths for a day without fortnite

slate mortar
#

._.

#

i never played fortnite in my entire life

tender shard
#

my friends once forced me too

#

it sucked so hard

#

and they were like "you only don't like because you're bad at it"

slate mortar
#

tho i'm kinda interested in the new no-build mode ngl

#

maybe its fun, idk

tender shard
#

well then it's just another comic-style shooter

slate mortar
#

because that was always the thing which kept me away from fortnite

tender shard
#

yeah it's so stupid lol

#

someone shooting at you? just randomly place some stairs lol

slate mortar
#

i'm not that much into hotkeying, that's the main issue

tender shard
#

no thanks I'll play counter strike when I want to shoot people lol

slate mortar
#

i suck at bumping plates in warzone lmfao

tender shard
#

or when I want to get shot

slate mortar
#

imagine me pressing 30 buttons in like 3 seconds when getting shot

slate mortar
#

fixed

tender shard
slate mortar
#

i always wanted to visit usa

#

so why not? i could live my (last) dream

tender shard
#

I've been there in 2008, 2010 and 2011. now I couldn't afford it anymore lol

slate mortar
#

i couldnt afford driving 5km into the main city probably lol

tender shard
#

๐Ÿ˜„

slate mortar
#

also i'm getting panic attacks when running around outside at streets i dont know...

now imagine me beeing in a plane
or in america

tender shard
#

also i'm getting panic attacks when running around outside at streets i dont know...
I know that feel lol

slate mortar
#

i would die far before i get shot

#

not such a good idea

tender shard
#

oooh what

#

discord finally has a Switch accounts feature

slate mortar
#

yea duh

#

for months now

tender shard
#

never noticed that

slate mortar
#

lmfao

tender shard
#

back when I needed it, it wasn't there

slate mortar
#

i use that like 50 times per day

tender shard
#

now I don't need it anymore and now it's there

slate mortar
#

to hang around in servers where people don't think i'm still on ๐Ÿฅธ

#

for... reasons

tender shard
#

ah yes, the good old... reasons

slate mortar
#

exactly

#

ffs, i need a fucking headphone jack adapter or smt

#

my cable is way too short

tender shard
#

lol you should see my headphone cable

#

I'll send a pic

slate mortar
#

or i should put my pc onto my desk lol, tho i don't have enough space with my 3 monitors i think

tender shard
#

it's "slightly" fucked up

slate mortar
#

lmfao

#

what have you done to it

tender shard
#

office chairs and cables will never be friends

slate mortar
#

ahhh i see

#

can't relate there, my cable is too short -_-

tender shard
#

I have those phones since 15 years now and the cable looks like this since 10 years lol

slate mortar
#

lol

#

funny thing is actually, my headset is wireless

#

but when i use it in wl mode, it only plays sound on the left side due to something beeing broken right at the headphone jack on it

tender shard
#

weird

slate mortar
#

so when i put in a cable, it sometimes works

tender shard
#

sometimes (TM)

slate mortar
#

may get myself a new one someday

#

or even rn? kinda important

#

lets see

tender shard
#

i finally bought a new mouse yesterday, it was overdue for years

#

it should arrive today unless the DHL guy throws a tantrum again

slate mortar
#

yoooooooooooooo

#

from 199โ‚ฌ down to 129โ‚ฌ

tender shard
#

5XX bad gateway

slate mortar
#

why tf can't you send screenshots when not verified lmfao

#

tf

tender shard
#

just get verified ๐Ÿ˜„

slate mortar
#

can't

tender shard
#

why not

slate mortar
#

my account isn't accessible for years now

#

and staff doesnt give a shit idk

tender shard
#

didn't we talk about this a few days ago and you were like "I don't need to send screenshots hurbuduuur" lol

slate mortar
#

yea

#

maybe

#

maybe not

tender shard
eternal oxide
slate mortar
tender shard
#

hm weird

slate mortar
#

2 times on the normal one

tender shard
#

then idk

slate mortar
#

this is what you get for using 2fa

#

i guess

tender shard
#

oh yeah well

slate mortar
#

and a broken phone

tender shard
#

maybe ask if you're allowed to create a new account

slate mortar
#

i dont care that much honestly

tender shard
#

how will you buy all my plugins without a spigot account though?

chrome beacon
#

What happened to your backup codes ๐Ÿ™ƒ

slate mortar
chrome beacon
#

You shouldn't have it all on the same device

slate mortar
#

then it was bc of the de prefix

tender shard
#

I have 2fa in the cloud lol

slate mortar
#

ffs mistakes were made okay?

#

i get it

tender shard
#

google authenticator sucks

slate mortar
#

^

tender shard
#

I use a website for 2FA

#

and google authenticator as backup

#

and saved all backup codes in a nextcloud

#

guess I'll be fine

slate mortar
#

oh my fucking holy

#

tf?

#

the arctis pro costs 120โ‚ฌ

#

and the arctis pro wireless costs fucking 318โ‚ฌ

#

WTFH

tender shard
#

do they have USB?

slate mortar
#

i suppose

tender shard
#

there's also many... "klinkenstecker" headphones

slate mortar
#

yea

#

thats my too short cable lmfao

blazing rune
#

Yo uh

tender shard
slate mortar
#

depends what you wanna invade them for

tender shard
#

just one short question

slate mortar
#

sure

blazing rune
#

[08:36:32 INFO]: [TestPlugin] Enabling TestPlugin v1.0
[08:36:33 INFO]: [TestPlugin] [STDOUT] Disabled due to no Vault dependency found!
[08:36:33 WARN]: Nag author(s): '[luckztoggled]' of 'TestPlugin' about their usage of System.out/err.print. Please use your plugin's logger instead (JavaPlugin#getLogger).
[08:36:33 INFO]: [TestPlugin] Disabling TestPlugin v1.0

#

I keep gettin this error

#

Anyone know what's happening?

blazing rune
#

I downloaded vault

#

Did the maven thing

chrome beacon
blazing rune
#

And put Vault in depend

tender shard
undone axleBOT
blazing rune
slate mortar
#

can someone at dev team PLEASE remove that shitty nag message? it's nothing but annoying

tender shard
#

spigot doesn't do it

blazing rune
#

There you go

slate mortar
#

uhhh

tender shard
slate mortar
#

aight, my bad

tender shard
#

that's just the error message

blazing rune
#

Ow shi

#

Sorry

#

Mb

tender shard
#

np lol

slate mortar
#

can someone at THEIR dev team remove it? lol

tender shard
blazing rune
#

?paste

undone axleBOT
slate mortar
#

edit: yes, all the steelseries headsets have usb except the normal arctis 1 and 3

tender shard
#

nice! I don't like headsets without USB

slate mortar
#

which are both under 69โ‚ฌ

blazing rune
slate mortar
#

so makes sense i guess

tender shard
#

yo everyone

#

today is international "non-smoking" day

slate mortar
#

tho i love how they lie about the mic quality probably

#

i know no single headset that has a mic that isn't total dogshit

tender shard
slate mortar
#

well not necessary

blazing rune
#

M

#

^

slate mortar
#

my mic was like 130 i think, and it's pretty fine

tender shard
tender shard
slate mortar
#

doesnt need an interface or some shit

#

only the usb connector, and works fine

tender shard
#

I got a cheap Rhode mic that's also fine but it's XLR only so yeah I need a proper soundcard

blazing rune
slate mortar
#

i thought about getting the sm7b, but i dont have an interface or smt, and they are 1: expensive, 2: too big for my desk

tender shard
tender shard
vague swallow
#

Is there a way to add custom tags to an item?

slate mortar
#

honestly, i really think about getting the arctis pro

#

its not wireless tho ๐Ÿ˜ข

tender shard
vague swallow
#

ah ty

tender shard
#

you can use PDC for entities (like dropped items), ItemMeta (on itemstacks), chunks, worlds, and tileentities

#

also I think I should celebrate that my covid test is (still) negative (it probably will be positive in a few days). so WHERE'S MY F'IN Jร„GERMEISTER

slate mortar
#

or the dt770, but idk if that'd be a good idea for gaming and shit

#

Jร„GERMEISTERRRRR

tender shard
slate mortar
#

its not a headset

tender shard
#

oh what is it

tender shard
#

oh those look good. but I'd always buy stuff like that from thomann

slate mortar
#

but idk if they are okay at gaming shit, or suck completely

#

yea, was just a reference

tender shard
slate mortar
#

i dont buy on amazon ever

tender shard
#

except that obviously they are only stereo and no 5.1 or so

slate mortar
#

because theyre made for music and shit

tender shard
#

well

#

they are studio phones

#

means they are made with a "flat" eq curve by design

slate mortar
#

i have no idea what you talk about lol

tender shard
#

okay so, certain headphones have different EQ characteristics

#

e.g. if they are made for music, they tend to not play the sound exactly as the PC sent it to them

#

they wanna make it sound "more bass" / "more crisp" whatever

slate mortar
#

alltho i wonder... can i even use those without some external devices?

tender shard
#

studio phones are made to play the sound exactly as it was given to them

slate mortar
#

like are they as well some xlr external shit as well?

tender shard
#

so you should be able to use them fine with every device that has a normal headphone jack

iron glade
#

I own the pro version of them and sonarworks which makes their frequency response flat, mainly for mixing and producing

slate mortar
#

tf is 6.35mm

tender shard
#

check my pic above

#

that's the 6.35mm jack

vague swallow
#

?paste

undone axleBOT
tender shard
#

and the "small" is the ones that mobile phones used to have

iron glade
slate mortar
#

yea i know the 3.5mm

#

but never heard of 6 something

tender shard
#

6.35mm is the one that studios, amplifiers, electric guitars etc use

slate mortar
#

i see

tender shard
#

the headphones you sent seem to have the "small" one builtin and they also ship an adapter to the 6.35mm variant

eternal oxide
#

6.35 has been the industry standard for decades

slate mortar
#

i suppose i'll just stick to the arctis pro?

iron glade
#

honestly I can't remember when the last time was that I used a headset, I'm going headphones + standalone mic for so long now

slate mortar
#

less mindfuck

iron glade
#

but headphones keep annoying the hell out of me, I guess I just don't like having something on my head. Eventhogh the 880s are really comfortable

green prism
#

who knows the maven import for net.cubespace.Yamler?

iron glade
#

but ever since I got my studio monitors I don't even use my headphones that often anymore haha

tender shard
chrome beacon
#

Jitpack :)

tender shard
#

jitpack is such a pain

chrome beacon
#

Not really

ivory sleet
#

Yeah I never got jitpack to work but I heard itโ€™s quite nice once it works

tender shard
#

well anyone try to get oraxen working from jitpack

#

never worked for me

#

if someone doesn't provide a proper repo, I just upload it to my private repo

vague swallow
#

Hey, I wondered if someone could take a look at my code:
https://paste.md-5.net/wilacudoxo.cs
What I wanted to do is that if a player has an item (a loaded crossbow in this case) in his inventory and it is not his handitem then it was supposed to be replaced with another item. But for some reason it's only working if the item is in the hotbar. It's not working for the rest of the inventory. No errors in the console.

iron glade
#
if(invItem.getItemMeta().getDisplayName().equals("test")) {``` I always check if the itemmeta has a displayname first before doing that
#

Had some issues when I didn't do that somehow

ivory sleet
#

Yeah it might be null

buoyant viper
tender shard
#

well hnnh

#

but they are working with crossbows

#

lol

buoyant viper
#

true

vague swallow
buoyant viper
#

style ur code after what its for ofc

tender shard
#

is it even possible to have a "charged" crossbow outside of the hotbar?

ivory sleet
#

Believe so

vague swallow
#

yes

tender shard
#

sounds dangerous

vague swallow
#

XD

tender shard
#

imagine charging some crossbows, then tossing them into your backpack and start your day lol

green prism
#

?paste

undone axleBOT
vocal cloud
#

Would be exploitable in MC I imagine lol

green prism
vocal cloud
#

Does it have a repo?

sacred mountain
tender shard
#

I simply always use getItemMeta

#

it calls hasItemMeta anyway

iron glade
#

Is there a way to check if a string contains color codes?

eternal oxide
tender shard
tender shard
vocal cloud
eternal oxide
tender shard
eternal oxide
#

ah

tender shard
#

getItemMeta either returns the existing meta, or creates a new meta if there isn't one yet, or returns null if this material cannot hav emeta at all

vocal cloud
#

Curious what material can't have meta? Air?

tender shard
iron glade
#

Does this make sense? java String displayName = (input.equals(ChatColor.stripColor(input))) ? "&e" + input : input;

tender shard
tender shard
#

this adds &e if input has no colors

iron glade
#

yes that's what I want to do

vocal cloud
tender shard
iron glade
#

thanks, wasn't quite sure somehow

vocal cloud
#

Remember just because they have a repo of something doesn't mean you can access it. If you look at where they import the core you'll see that they don't actually have a repo for it because it's a local repo.

#
    <dependency>
        <groupId>com.github.Cube-Space.Yamler</groupId>
        <artifactId>Yamler-Core</artifactId>
        <version>85c22fc913</version>
    </dependency>

And this doesn't work?

#

Cause that works for me so shrug1

tender shard
#

what even is yamler

vocal cloud
#

No readme

#

๐Ÿคข

green prism
#

there's no package, nothing

tender shard
vocal cloud
tender shard
eternal oxide
#

Silly question, but did you add the jitpack repo?

#
        <repository>
            <id>jitpack.io</id>
            <url>https://jitpack.io</url>
        </repository>```
tender shard
#

np, this always works if they don't provide proper repos themselves

green prism
tender shard
#

as said, I have no idea what it does anyway

green prism
#

same

tender shard
#

lol

tender shard
vocal cloud
#

Ew

chrome beacon
#

They have a spigot page with information

vocal cloud
#

A readme is so important tho

median trench
#

Hello, I've been searching for a way to remap spigot NMS to mojang ones with gradle and I haven't found a way. I tried using java -jar buildtools.jar --rev 1.18.2 --remapped but methods are still named a, b, d...

earnest forum
#

spigot maps arent complete

slate mortar
#

thats how mojang names their methods, they never code without beeing high

earnest forum
#

i think its more to do with people stealing code than being high

#

to make sure people can't understand it

slate mortar
#

i can't understand mojangs code even if it's mapped tbh

earnest forum
#

yea lol

slate mortar
#

and i'd be surprised if anyone can either

median trench
#

Actually mojang names them with normal names, but they obfuscate them. It's pretty easy to do it with Paper, but I want to use Spigot

slate mortar
#

sometimes i feel like they have more spaghetticode than me

earnest forum
#

to make it hard to understand

vocal cloud
#

I can understand some of it you just need to spend a lot of time deobing it

earnest forum
#

yea

slate mortar
#

god they really think i meant that for real?

earnest forum
#

spend hours going through that

earnest forum
#

just starting conversations

median trench
vocal cloud
#

renderFace(T p_228884_1_, Matrix4f p_228884_2_, IVertexBuilder p_228884_3_, float p_228884_4_, float p_228884_5_, float p_228884_6_, float p_228884_7_, float p_228884_8_, float p_228884_9_, float p_228884_10_, float p_228884_11_, float p_228884_12_, float p_228884_13_, float p_228884_14_, Direction p_228884_15_) Is my favorite

tender shard
#

I have a List<String> "lore" and another List<String> "toRemove". For example, the original lore might be

First line
second line
I WANT
TO REMOVE THIS
fifth line

Obviously the "toRemove" list looks like this

I WANT
TO REMOVE THIS

I only want to remove the "toRemove" from the original lore if it's included in exactly the same order though. I could of course iterate over every line of the original lore, then once I found the first line of the toRemove lore, keep iterating and if all further lines are matching, I can note down from which line the toRemove lore started, if you get what I mean.

I wonder if there's an easier way?

slate mortar
#

a stands for x
i love it

earnest forum
#

๐Ÿ’€

#

why not just a for b

slate mortar
#

b stands for boring

median trench
slate mortar
#

pff

#

everyone knows that

slate mortar
vocal cloud
slate mortar
#

i never was tho

median trench
#

hahah

slate mortar
#

nms stuff always reminds me of mixin bytecode development

#

both make my head burn

chrome beacon
#

Mixins are neat

slate mortar
#

they still make my head burn

median trench
#

having said that, is there a way which doesn't need me to change back to maven or to use paper?

slate mortar
#

no idea

median trench
#

Or I have to translate the methods manually ๐Ÿ’€

chrome beacon
#

If you want to use gradle use the paper dependency

slate mortar
#

i never even tried understanding those a methods etc

chrome beacon
#

It's the easiest way

slate mortar
#

feel free to bring me to my grave when you're done

median trench
slate mortar
#

i remember i wanted to mess with packets

#

then i saw ```java
public void a(){
this.b();
}

public void b(){
this.c();
}

#

and kept using the messaging channel lol

chrome beacon
#

Now we have mojmaps which are great

#

Before you had to look at what the methods were doing to figure out which one to use

median trench
slate mortar
chrome beacon
#

Components are great

slate mortar
#

most people find it good, but i just find it absolutely annoying

chrome beacon
#

How so?

slate mortar
#

uhhh

chrome beacon
#

They have a good wiki, and MiniMessage makes it easy to put in configs

slate mortar
#

idk.. maybe because e.setJoinMessage("your join message"); is easier than e.setJoinMessage(Component.whatever("your join message")); and it can get really annoying when trying to chain multiple components

summer scroll
#

Yeah it's really annoying

#

I use Paper but I don't even use the component shit

slate mortar
#

yea, apparently luckily you dont have to

earnest forum
#

does it not let you use strings?

#

ah

chrome beacon
#

It does

slate mortar
#

it does

#

but its deprecated

summer scroll
#

mhm

earnest forum
#

why? ahah

slate mortar
#

which means people tend to scream at you for using it

median trench
#

player.sendMessage(ChatColor.GREEN + "Hello" + ChatColor.GRAY + "Bye") turns into player.sendMessage(Component.text().append(Component.text("Hello",greenStyle)).append(Component.text("Bye",grayStyle));

chrome beacon
slate mortar
chrome beacon
#

That's legacy

slate mortar
#

i was always using colorcodes

#

idk

median trench
slate mortar
#

i dont use hex codes ever

#

so for me not really an issue

median trench
#

I had to use hex colors in a recent plugin and eugh, never again

eternal oxide
#

I really dislike the components too

slate mortar
#

like, why would i have to use hex codes... i use colorcodes mainly for chat messages

summer scroll
slate mortar
#

and there, i always use green, blue, yellow, red, and grey

#

thats all

#

i have 90% of colorcodes in my head lmfao

slate mortar
#

yea, i don't bother doing such thngs myself

median trench
slate mortar
#

to me, net.kyori.adventure is more like net.kyori.nightmare

eternal oxide
#

I'd prefer a single overlay component you could add to chat like `Player#sendMessage("Hi blah blah", new Overlay(start,end, json))

slate mortar
#

but preference ig

summer scroll
#

lmao

crude cobalt
#

Does anyone have a tutorial on how to change the HUD with a plugin and a texture pack?

slate mortar
#

but yea, at least they didn't completely remove those methods. alltho that'd be impossible when trying to keep compatibility

slate mortar
#

mediafire was like the only site i know that works for this, but there probably are a few more

median trench
slate mortar
#

i mean... afaik, they just made them deprecated, but still keep them

#

to make spigot plugins compatible ofc

median trench
#

ChatColor.of(hexCode) now returns a white ChatColor hahah

crude cobalt
median trench
#

I know that I am talking too much about hex colors but they are my nightmare

slate mortar
#

i don't think that's possible. but idk 100%

#

about adding new textures

#

or rendering in particular, because i'm 99% sure it's limited by the client

crude cobalt
#

But what about the Itemsadder?

slate mortar
#

what that

slate mortar
#

cant visit it because i dont have an account

#

for reasons i dont wanna explain a 3rd time

slate mortar
#

god

#

is my discord broken again

#

ffs

slate mortar
#

yea, image doesnt load

#

thank you discord for nothing

crude cobalt
#

Then open original image

vocal cloud
#

Yeah that's resource pack stuff

median trench
slate mortar
#

interesting

#

well, i personally never messed with stuff like custom textures, or even items, so i have no idea

#

i messed with editing a rarely-used font-bitmap to add custom characters to the server, but thats all

#

god i hate it, currently you can't pay like anywhere with credit card and shit, because all those devices are broken, now i have to go to some atm and pay a 10% fee to get money lmfao

vocal cloud
#

Wack I've never seen a place that doesn't take credit

slate mortar
#

lmfao

#

but yea... in germany, 90% of card-devices are currently broken

quaint mantle
slate mortar
#

that looks so scuffed

quaint mantle
#

well thats the default one

slate mortar
#

hex is so weird change my mind

quaint mantle
#

actually i use that all the time, just with& instead

slate mortar
#

how to fucking remember all those values

quaint mantle
#

hex is cool

#

who even remember lmao

#

just use a website

slate mortar
#

rgb best

#

just 255, 0, 0 for red, and etc etc

#

no color picker shitwebsite needed

quaint mantle
#

even then can you remember rgb :}

slate mortar
#

rgb isn't "remembering"

#

0=none, 255=full

#

red->green->blue
easy

#

just think

#

does hex have such a "system"?

median trench
#

Okay, like, I won the game

slate mortar
#

or is it just some random numbers and chars together

slate mortar
tender shard
#

ff = 255

#

it's just hexadecimal

slate mortar
#

uhhhhhhhhhhh

median trench
#

compileOnly 'org.spigotmc:spigot:1.18.2-R0.1-SNAPSHOT:remapped-mojang'
This is how you get NMS mapped to mojang

slate mortar
#

so it goes from what to what?

tender shard
#

e.g. in decimal
1,2,3,4,5,6,7,8,9,10,11,12
in hex
1,2,3,4,5,6,7,8,9,a,b,c...

slate mortar
#

i see

tender shard
slate mortar
#

so 1-9-ff

#

so red would be ff0000 or what

tender shard
quaint mantle
#

yea

tender shard
slate mortar
#

okay... makes at least some sense

slate mortar
#

thats not your website you advertise there

tender shard
#

just looka tht efirst two columns

slate mortar
#

something's wrong here

#

that website looks like some bytecode stuff

#

0 and 1 everywhere ahhhhhh my heaaaaaad

lament swallow
#

what would be the best way to disable commands for non-opped players?

slate mortar
#
if(player.isOp()){
  //run command
}``` i guess
lament swallow
#

thanks but what event should I use? and what method to call to disable a command

slate mortar
#

thats not how commands work

#

in the commandExecutor's onCommand, just check if the player is op

tender shard
tender shard
#

I'll get him executed if he actually spread it in my apartment

slate mortar
#
    @Override
    public void run(Player p, String[] args) {
        if (p.isOp()) {
            if (args.length == 2) {
                if (args[0].equalsIgnoreCase("confirm")) {
                    Main.getPlugin().shouldResetWorlds = true;
                    Bukkit.spigot().restart();
                } else for (String s : getSyntax()) p.sendMessage(Constants.CHAT_PREFIX + "ยงe" + s);
            } else for (String s : getSyntax()) p.sendMessage(Constants.CHAT_PREFIX + "ยงe" + s);
        } else p.sendMessage(Constants.CHAT_PREFIX + "ยงcYou don't have Permission to use this command.");
    }```
an example
lament swallow
slate mortar
#

i made myself a commandmanager, so it's a different method, but works the same

slate mortar
quaint mantle
#

does anybody know how can I make the armor stand wear the armor with spigot

lament swallow
#

that's my issue ๐Ÿ‘€

sage dragon
slate mortar
#

uh

#

how

lament swallow
sage dragon
slate mortar
#

that doesn't remove it from the tab-completions

lament swallow
#

yea

slate mortar
#

he wants to only show specific commands to specific players on tab-completion

#

like vanilla does with /gamemode and /op

#

and afaik thats not possible due to vanilla limits

lament swallow
#

yea so even though a player could tab-complete the bukkit command /help he still can't use it

slate mortar
#

i mean you can use TabCompleters, but i dont think you can use them for commands themselfes, but only for arguments

lament swallow
#

but i don't want him to even see it

sage dragon
#

Oh, wait

slate mortar
#

oh apparently it is indeed

#
/**
 * This event is called when the list of available server commands is sent to
 * the player.
 * <br>
 * Commands may be removed from display using this event, but implementations
 * are not required to securely remove all traces of the command. If secure
 * removal of commands is required, then the command should be assigned a
 * permission which is not granted to the player.
 */
public class PlayerCommandSendEvent extends PlayerEvent {```
interesting
lament swallow
#

aha

#

that's it

slate mortar
#

i thought it's called when a player run's a command, which imo the same suggests

#

kinda weird

lament swallow
#

how would i remove the bukkit.command.version permission for a player then?

#

assuming i am running my own server

slate mortar
#

removing permissions from players is.... uhhh

#

"tricky"

#

use a permissions api/plugin i guess

vocal cloud
#

Reflection is man's best friend idk wym

slate mortar
vocal cloud
slate mortar
#

reflection is only good in video games

lament swallow
#

mmmm

#

ok

vocal cloud
#

UE5 owowhatsthis

lament swallow
#

thanks a lot for helping ๐Ÿ‘

slate mortar
vocal cloud
#

Worth every second of flame

#

I loved going around the new city demo

sage dragon
slate mortar
#

actually yesterday my fucking gpu had 3 blackscreens (probably due to overheating) because of genshin

#

i'm confused

#

i can play like every game for hours, even fucking demanding stuff

#

but some small games keep fucking my gpu

vocal cloud
#

Star Citizen used to black screen my PC. UE5 on release did the same thing

#

But now it's fixed

slate mortar
#

like after playing for about 1 hour my pc just blackscreens

vocal cloud
#

New AMD GPU?

slate mortar
#

warzone, no problem
cyberpunk, no problem
horizon, no problem
gta, no problem

#

minecraft, genshin? DEAD

slate mortar
vocal cloud
#

My 6800xt seems to be okay now but it randomly black screened a lot a few months ago

slate mortar
#

had to downclock it to 900mhz so it doesn't get too hot

#

which apparently fixed it

#

i mean, doesnt matter that much, as those games like genshin run on toasters, but still weird

#

someone may send over a new gpu? ๐ŸŽ

vocal cloud
#

I had a 970 for the longest time. Never had an issue with it ever. Now my new card is like an IED in a hailstorm

sage dragon
slate mortar
#

i would like something like a gtx1080 or smt, which is still a beast

#

i dont need rtx tbh

sage dragon
slate mortar
#

thought about the 3060 before, but i don't think that it's that good aside from "working" with rtx

vocal cloud
#

1080 is a bit faster but unless you get it used - more expensive

quaint mantle
#

hello, player.setResourcePack() doesn't seem to do anything, the url and hash is all correct, but when its ran. It doesn't prompt the user to download anything and the texture isn't updated

#

i checked the log as well and there wasn't a resource pack receive log

iron glade
vocal cloud
#

3060

iron glade
#

Still wouldn't get the 1080

tacit dagger
#

is there any way to load plugins/AthenaItems/language/<configfile> ?

vocal cloud
#

Same but I'm not talking about me so shrug1

iron glade
#

Atm I wouldn't recommend buying a rtx 3000 gpu at all since new gpus coming the next few months

#

Few months ago I got a cheap gtx 1070 for like 200โ‚ฌ

#

now running them in SLI lol

quaint mantle
#

someone know how to remove block under player during movement??

#

or spawn block

twilit roost
#

What is the new name of initPathfinder
in Mojang Remapped NMS?

iron glade
quaint mantle
#

Ok I try

slate mortar
#

I donโ€™t have the gpu money anyway so doesnโ€™t matter

#

Iโ€™ll probably stick to my old ass gpu in 10 years lmfao

quaint mantle
twilit roost
#

pseudocode:

void event:
  Player p = e.getPlayer();
Block replace = p.getWorld().getBlockAt(p.getLocation.getX,p.getLocation.getY-1,p.getLocation.getZ)
replace.setType(Material.AIR)
quaint mantle
#

ok thanks

#

it playerMoveEvent ye?

twilit roost
#

yep

quaint mantle
#

Ok

quaint mantle
#

i dont know

drowsy helm
#

whats sorta pseudocode is that lel

twilit roost
#

pseudocode which contains only void event written in pseudo
rest is in normal code ๐Ÿ˜„

river oracle
quaint mantle
#

yeah just found out about that

#

missed the http stuff

#

does somebody know how can I make a rainbow armor on a armor stand

twilit roost
#

Can I use Remapped NMS aswell with not remapped?

humble tulip
tacit dagger
iron glade
eternal night
#

player.getLocation().getBlock().getRelative(BlockFace.DOWN) might also work

eternal oxide
#

shoudl have turned ping off ๐Ÿ˜ฆ

eternal night
#

ah i dont mind xD

eternal oxide
#

We need Skynet so it can correct my mistakes.

summer scroll
#

So I have like a trusted players system for each player, and I want the player to be able add/remove trusted players even though the player is offline, what data should I store?

eternal night
#

uuid ?

summer scroll
#

I'm trying to find a way to get the OfflinePlayer object without getting it from mojang api or something.

eternal oxide
#

UUID

summer scroll
#

Also why OfflinePlayer#getName is nullable.

eternal oxide
#

damn discord refusing my messages now

eternal night
#

I mean, you will have to talk to mojang servers

eternal oxide
#

loop over your offline player objects to find a matching name

summer scroll
#

This is what I got

    @Nullable
    private OfflinePlayer getOfflinePlayer(String name) {
        return Arrays.stream(Bukkit.getOfflinePlayers()).filter(
                player -> player.getName().equalsIgnoreCase(name))
                .findAny().orElse(null);
    }
eternal oxide
#

from that get the UUID and add it as a trusted

tender shard
eternal night
#

Question is if that is more permanent than mojang api calls

summer scroll
#

There is also Bukkit#getOfflinePlayerIfCached

eternal night
#

that is paper-api

eternal oxide
#

not in Spigot

summer scroll
#

yeah

#

I wonder If should I use that instead looping all players data

eternal night
#

Well, not really usable for your usecase

#

even if the player has played before

#

but the server shutdown

#

it won't be in the cache after the restart

summer scroll
#

so, stick with looping all players data?

eternal night
#

well definitely one optiopn

#

tho that method does IO