#help-development

1 messages Ā· Page 219 of 1

tardy delta
#

or you do some fancy reflection which isnt even possible in my eyes

onyx fjord
#

aint touching that

#

so ideally i need a map with 3 items in it

tardy delta
#

you might want to consider saving your data in yml instead of pdc too

chrome beacon
#

Why do you need to copy the pdc?

onyx fjord
#

im making an item builder

tardy delta
onyx fjord
#

and i combine everything on build step

chrome beacon
#

Then you can just keep track of the data types

onyx fjord
#

?

wet breach
onyx fjord
#

what am i gonna set the key to then

chrome beacon
#

To what ever the input was to the item builder

onyx fjord
#

but then i must keep track of 3 things no?

chrome beacon
#

builder.pdc(key, type, value) and track that

tardy delta
onyx fjord
#

what should i store it in?

#

a map or?

tardy delta
#

yes

onyx fjord
#

but map has two entries only

tardy delta
#

then make a map with two entries šŸ¤·ā€ā™‚ļø

chrome beacon
#

You can use 2 maps or create an object

wet breach
onyx fjord
#

oh good idea olivo

tardy delta
#

hmm i think i start understanding

summer scroll
#

Hey, I'm kinda struggling on how to make animal attack players with pathfinder, I manage to make the animal (i'm testing with sheep) aggressive towards player but it doesn't attack at all.

This is the code: https://paste.md-5.net/yepumudiru.css

feral pike
#

When I try to build with maven (I'm using remapped 1.17) I get this error

#

How to fix it ?

feral pike
chrome beacon
#

And where are you remapping

#

Also don't send text as images

#

?paste

undone axleBOT
onyx fjord
#

(why specifically 1.17, isnt latest minor ver 1.17.1?)

feral pike
#

alright wait

digital pawn
#

hey, im trying to build a 1.8.8 with buildtools but get following error:

Exception in thread "main" java.io.IOException: Server returned HTTP response code: 403 for URL: https://s3.amazonaws.com/Minecraft.Download/versions/1.8.8/minecraft_server.1.8.8.jar at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1914) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1512) at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:268) at java.net.URL.openStream(URL.java:1092) at com.google.common.io.Resources$UrlByteSource.openStream(Resources.java:72) at com.google.common.io.ByteSource.read(ByteSource.java:296) at com.google.common.io.Resources.toByteArray(Resources.java:98) at org.spigotmc.builder.Builder.download(Builder.java:1083) at org.spigotmc.builder.Builder.main(Builder.java:416) at org.spigotmc.builder.Bootstrap.main(Bootstrap.java:27)

feral pike
chrome beacon
sullen marlin
#

update buildtools

digital pawn
sullen marlin
#

Well you don’t

feral pike
onyx fjord
#

didnt methods change in 1.18?

chrome beacon
onyx fjord
#

methods of remapping

feral pike
chrome beacon
#

With the remapped argument

feral pike
chrome beacon
#

Also why would it work on 1.18.2 if you haven't run BuildTools

feral pike
chrome beacon
#

Did you reload your pom after editing it

feral pike
#

Yep

tardy delta
#

mongo weird

chrome beacon
#

You can still do that in one operation though

tardy delta
#

thats what verano said and i didnnt find it tho

#

if i have this kind of setup where homes is a collection

#

lets follow copilot ig

frail spire
tardy delta
#

sql injection in mongodb hmm yes

chrome beacon
tardy delta
#

from now on my name is fourteendoggo'; drop tables users -- :)

frail spire
#

Lol

chrome beacon
#

You can give a player the book and tell them to write in it

#

Opening the book menu only works with signed books as far as I'm aware

#

Give the player a book and quil

#

Send them a message

#

As I said you tell them to open it

onyx fjord
#

is there crouch check the easy way?

#

or i must keep track myself

#

ah i mustve missed it

#

thx

smoky widget
#

why does i have this error java.lang.ClassNotFoundException: com.mongodb.client.MongoClients whereas Mongo is shaded inside jar

fluid river
smoky widget
#

when i do mvn clean install i have org.mongodb:mongo-java-driver:jar:3.12.11 in the shaded jar.

#

idk if it's that

#

i just have my package

#

in hastebin ?

undone axleBOT
tardy delta
#

because

smoky widget
#
[13:52:02 ERROR]: Couldn't pass ProxyInitializeEvent to hc_proxylogin
java.lang.NoClassDefFoundError: com/mongodb/client/MongoClients
        at fr.fokpi.hcproxylogin.manager.StartupManager.load(StartupManager.java:13) ~[?:?]
        at fr.fokpi.hcproxylogin.HCProxyLogin.onProxyInitialization(HCProxyLogin.java:41) ~[?:?]
        at fr.fokpi.hcproxylogin.Lmbda$1.execute(Unknown Source) ~[?:?]
        at com.velocitypowered.proxy.event.UntargetedEventHandler$VoidHandler.lambda$buildHandler$0(UntargetedEventHandler.java:47) ~[velocity.jar:3.1.1]
        at com.velocitypowered.proxy.event.VelocityEventManager.fire(VelocityEventManager.java:598) ~[velocity.jar:3.1.1]
        at com.velocitypowered.proxy.event.VelocityEventManager.lambda$fire$5(VelocityEventManager.java:479) ~[velocity.jar:3.1.1]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
        at java.lang.Thread.run(Thread.java:833) [?:?]
Caused by: java.lang.ClassNotFoundException: com.mongodb.client.MongoClients
        at com.velocitypowered.proxy.plugin.PluginClassLoader.loadClass0(PluginClassLoader.java:83) ~[velocity.jar:3.1.1]
        at com.velocitypowered.proxy.plugin.PluginClassLoader.loadClass(PluginClassLoader.java:60) ~[velocity.jar:3.1.1]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
        ... 9 more
#

u think i need to add mongodb in artifact ?

#

i just click on build and build artifact

#

yes

#

i already have clean package

vivid skiff
#

Is possible to give the same visual effect has when getting in spectator mode and becoming a mob like the creeper'

#

?

smoky widget
#

i did that and after i need to build artifact ?

#

i have HCProxyLogin-devBuild and original-HCProxyLogin-devBuild

#

but hcproxylogin-devbuild size is 17Mo because it have all dependency

remote swallow
#

iirc maven shade has a minimize option

smoky widget
#

yes thx a lot and there is a way to shade just one dependency ?

#

because the rest is already included

feral pike
#

Heeelp!

#

This is my pom.xml

onyx fjord
#

whats the diff between

Bukkit.getServer()#dispatchCommand(player, "spawn")
and
Player#performCommand("spawn")

chrome beacon
#

Probably nothing

onyx fjord
#

lol

#

and if command is not registered i need to force player to say something with / right?

echo basalt
#

ye

#

type deal

#

idfk how it works

#

I just remember forced commands not firing events

#

because the commandmanager was jank

#

so I had to make my own command map class

elfin atlas
#

Is there a way to get the name of an offlineplayer just by his UUID?

river oracle
#

not anymore I'm pretty sure mojang got rid of that API \

chrome beacon
#

The server stores the last seen username

#

So you can use that

river oracle
#

oh interesting

elfin atlas
chrome beacon
elfin atlas
#

And I still need his name

chrome beacon
#

You can make a request to mojang servers

river oracle
elfin atlas
#

so there is no way todo it with just spigot?

chrome beacon
river oracle
#

ahhh ok

chrome beacon
elfin atlas
chrome beacon
#

It might work if the player has joined before

elfin atlas
#

Yeah he has to be

swift dew
#

how can i change the player's nametag?

#

(not prefix or suffix)

chrome beacon
#

What version

swift dew
#

1.18.2

#

well i said nametag

#

overhead

chrome beacon
#

^^

swift dew
#

also idk if theres aanything on protocollib

#

gameprofile or sth else

chrome beacon
#

Protocollib can do it

swift dew
#

how?

#

is it a packet

chrome beacon
#

?

#

Wdym

swift dew
#

how can i do it with protocollib

chrome beacon
#

You modify the packet containing the name

lavish folio
#

can i detect when player take item from creative inventory (if i can how? ) ?

swift dew
fluid river
#

i guess

worldly ingot
#

Creative mode is stupid

#

It's very client-authoritative and hardly tells the server anything at all

lavish folio
#

thanks

swift dew
#
        packet.getPlayerInfoAction().write(0, EnumWrappers.PlayerInfoAction.UPDATE_DISPLAY_NAME);
        ArrayList<PlayerInfoData> pd = new ArrayList<PlayerInfoData>();
        WrappedGameProfile profile = new WrappedGameProfile(player.getUniqueId(), name);
        WrappedChatComponent name2 = WrappedChatComponent.fromText(name);
        pd.add(new PlayerInfoData(profile, 0, EnumWrappers.NativeGameMode.SURVIVAL, name2));

        packet.getPlayerInfoDataLists().write(0, pd);

        try {
            for (Player p : Bukkit.getServer().getOnlinePlayers()) {
                ProtocolLibrary.getProtocolManager().sendServerPacket(p, packet);
            }
        } catch (InvocationTargetException e) {
            e.printStackTrace();
        }``` 
shouldnt this update the nametag?
#

anyone can help

undone axleBOT
swift dew
#

....

#

i just did and it didnt work

#

thats why i ask

#

if anyone know how can i chnage a player's nametag please tell me

#

i cant seem to find anything anywhere

swift dew
echo basalt
#

No idea honestly

#

I could reverse-engineer half the stuff

swift dew
#

wdym

chrome beacon
#

Look at and already existing plugin and see how they do it

#

Or try figuring it out by looking at mc source

swift dew
#

i tried some apis

#

but it didnt make any sense

#

(i didnt find the full code parts)

remote swallow
#

https://paste.md-5.net/acepijexog.java dont question the jank or unfinished parts or broadcast messages, but for some reason my for loop will only run twice from the messages and then does nothing else

swift dew
lavish folio
#

i can get how many block is specific biome from 0 0 ?

swift dew
#

ig i cant do anything else

honest badge
swift dew
#

how can i do that?

chrome beacon
#

Reflection

lavish folio
chrome beacon
#

Yeah

#

You can do that

remote swallow
#

anyone have any idea why invStack could be null, it worked before even if the item was nothing

chrome beacon
#

Bukkit can be a bit inconsistent when it comes to air item and null

#

So always check both

remote swallow
#

ah okay

#

yeah that fixed it, thanks

swift dew
#

wait this makes teams prefixes and suffixes not to work?

        try {
            Field field = gameProfile.getClass().getDeclaredField("name");
            field.setAccessible(true);
            field.set(gameProfile, name);
        } catch (Exception e) {
            e.printStackTrace();
        }

        for(Player p : Bukkit.getServer().getOnlinePlayers()) {
            p.hidePlayer(player);
            p.showPlayer(player);
        }```
chrome beacon
#

Wdym?

chrome beacon
#

You will need to modify the teams as well

shut meadow
#

how can i check if a player enters the bed? whats the eventhander for that?

swift dew
#

what should i modify

chrome beacon
swift dew
#

should i use .addEntry

shut meadow
swift dew
#

or is this sth else

chrome beacon
swift dew
#

oh ok

chrome beacon
#

And the entry should be the player name

rough basin
#

How to make short dash?
I mean not speed effect for short time,
If you click, it moves quickly to direction of the vector you're looking at

swift dew
#

names cant be colored right?

chrome beacon
#

They can

swift dew
#

oh ok

#

i mean in the game profile

#

not team color option thing

chrome beacon
#

Use the teams

swift dew
#

aight

rough basin
#

Isn't Velocity the value used when player moved by Arrow key?

chrome beacon
#

You can add to the players current velocity to launch them

rough basin
#

Ok ill try

#

Thanks

dire salmon
#

will the player be abble to dash up? if yes do p.setVelocity(p.getEyeLocation().getDirection().multiply(int));

#

something like this

wary topaz
#

sender.sendMessage("§4§lUsage: /gamemode <creative,survival,spectator,adventure> " + ((if (sender instanceof Player)) ? "<player>" : "[player]"));

I think i'm losing it, I cant see any errors in this

hazy parrot
#

And what is the problem

dire salmon
#

^

wary topaz
fluid river
#

if + ?

#

why

#

learnjava

balmy valve
#

Anyone here have experience with the InventoryCreativeEvent

wary topaz
#

I do?

balmy valve
#

closing, at the end

wary topaz
#

no id ont?

balmy valve
#

ugh discord messed that up

wary topaz
#

oh lol

balmy valve
#

yeah you have an extra one lol

#

just count it

#

nvm LOL

dire salmon
#

he dont bro

#

he just needs the }

balmy valve
#

I am just extremely blind

dire salmon
#

nvm

#

i dont think u can use if like that

balmy valve
#
sender.sendMessage("§4§lUsage: /gamemode <creative,survival,spectator,adventure> " + (sender instanceof Player ? "<player>" : "[player]"));
dire salmon
#

ye

balmy valve
wary topaz
#

thanks

balmy valve
#

Would anyone here happen to have experience with the InventoryCreativeEvent
Specifically detecting when a player either takes an item from the inventory or deletes an item through the inventory

lavish folio
#

getComputedBiome vs getBiome ?

wary topaz
#

anyone use google sites? i gotta a quick question

chrome beacon
#

?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!

chrome beacon
chrome beacon
#

Send your code

#

?paste

undone axleBOT
chrome beacon
balmy valve
#

oh yeah, and I already detect that so thats not a worry then

#

wait- I already have that all covered then :o

#

I just need to deal with commands

radiant cedar
raw prairie
#

how might I have a scoreboard that keeps track of a score when a certain event happens

#

lol oddly specific

radiant cedar
raw prairie
radiant cedar
#

last img

#

says "is is null"

#

first image shows "is"

#

s is just

#

wait lemme send better

raw prairie
#

im sorry

radiant cedar
#

lol

chrome beacon
radiant cedar
chrome beacon
#

.. just put the entire method in a paste

#

?paste

undone axleBOT
radiant cedar
#

but how do i read from file

#

lol

#

i saved itemstack on file no?

#

or is it saved wrong did i miss something

radiant cedar
winged anvil
#

can I dm you about setting up vsc for java? lmao

radiant cedar
#

didnt wrk

dim bronze
#

intellij is built for java, vsc is not

wary harness
#

anyone good with regex

#

Pattern.compile("<delay=([^<>]+)>", 2); I got this code and I understand most of it but can't figure out what would it be this <>

dim bronze
#

square brackets will match any of the characters inside

#

the ^ at the front will 'invert' the characters

#

so [^<>] will match any character that isn't a gt/lt sign

#

although by default regex is greedy so I don't think thats needed? .+ would work too

#

he says

wary harness
#

thanks

dim bronze
#

using a flag of 2 is really disgusting

remote swallow
#

anyone know if i can make my gradle build script run a command/type in the terminal

dim bronze
#

exec task

vivid skiff
#

How can i give more armor protection points to a armor?

remote swallow
dim bronze
#

🤢

dim bronze
echo basalt
#

exec is nice

dim bronze
#

gradle > maven

echo basalt
#

boutta make a project that nukes your pc if you compile it

chrome beacon
remote swallow
#

?nohello

undone axleBOT
dim bronze
#

give them chance hes hopefully typing a question ahah

remote swallow
#

lol

zealous scroll
#

i am

#

sorry

twilit garden
#

h

chrome beacon
remote swallow
#

lmao

zealous scroll
#

im currently trying to compile my project using nms and maven and it says it cannot accesss the specified classes. i've gone through the 1.17 release thread and tried using the remapped mojang classifer as well as the SpecialSource maven plugin but it cannot retrieve the jar from anywhere

#

i already ran buildtools 1.19 with --remapped flag but it doesn't seem to recognize it

#

p sure maven's trying to pull the jar from my local m2 repo org/spigotmc/spigot/jar/... instead of org/spigotmc/spigot/...

chrome beacon
#

Could you send your pom

#

?paste

undone axleBOT
zealous scroll
zealous scroll
dim bronze
zealous scroll
#

it can't find the artifact

Could not find artifact org.spigotmc:spigot:jar:remapped-mojang:1.19-R0.1-SNAPSHOT

Try to run Maven import with -U flag (force update snapshots)
dim bronze
#

i haven't actually used special source with maven but on first glance the pom looks okay?

#

does build tools run successfully?

zealous scroll
#

yup

chrome beacon
#

Make sure you ran BuildTools for 1.19 and not 1.19.2

#

Also make sure BuildTools has finished running

zealous scroll
#

i'll rerun buildtools and give it a shot

dim bronze
#

what command are you running?

zealous scroll
#

Olivo was right, i was running buildtools for 1.19.2, my apologies

chrome beacon
#

Keep in mind your plugin may not support 1.19.2 now

rare rover
#

why isn't this working?

#
public static void createEntityPacket(String name, Location location, List<Player> players) {
        World world = ((CraftWorld) location.getWorld()).getHandle();
        EntityArmorStand armorStand = new EntityArmorStand(world, location.getX(), location.getY(), location.getZ());
        armorStand.setInvisible(true);
        armorStand.setNoGravity(true);
        armorStand.setCustomNameVisible(true);
        armorStand.setCustomName(IChatBaseComponent.a(name));
        players.forEach(player -> {
            ((CraftPlayer) player).getHandle().b.sendPacket(new PacketPlayOutSpawnEntityLiving(armorStand));
        });
    }```
#

spawns but doesn't set name or invisible

opal juniper
#

im pretty sure that all the other data is sent in the metadata packet

river oracle
zealous scroll
#

even after fixing my nms dependency it seems to have the same effect upon compilation

cannot access com.mojang.authlib.GameProfile
dim bronze
#

game profile isn't a part of spigot anymore as far as im aware

rare rover
remote swallow
# remote swallow thats useful as hell

gradle docs are weird and really dont supply much info, Do you know if workingDir wants the cmd location or java file location then am i correct in saying commandLine("my command to send in cmd") should be ran

zealous scroll
#

the dependency already comes bundled with nms dependency doesn't it

dim bronze
#

so if you are trying to run a server, you would want the workingdir to be the server root because that's where the server looks for files, and then the commandLine would be relative to the workingdir

rare rover
dim bronze
#

i believe its this packet

opal juniper
#

yep

dim bronze
#

don't have an ide open so I don't know what it relates to in nms

rare rover
#

i c, thakns

#

thanks*

remote swallow
opal juniper
#

what the flying fuck are you on about

dim bronze
#

then you wouldn't be running a command in the command line

#

only way I can think to do it is with RCON or I imagine there would be a way to attach itself to a currently running process similar to how intellij debugger works?

#

but that's getting pretty involved for a gradle task

#

I'm too lazy to right click to reply to messages so hopefully it's clear who im talking to

remote swallow
#

if intellij run configs had a method for running something in terminal i could probably just boot a server in intellij and do it that way

#

but sadly they dont, only debug stuff and i dont think that has any way to run stuff in the terminal either

dim bronze
#

you most certainly can run a server through intellij

remote swallow
#

yeah

#

i had one open a few min ago

dim bronze
#

oh

#

nvm

remote swallow
#

just couldnt find anything on the run config to do anything in it

dim bronze
#

I misread that

rare rover
#

okay i got

#
        players.forEach(player -> {
            EntityPlayer entityPlayer = ((CraftPlayer) player).getHandle();
            entityPlayer.b.sendPacket(new PacketPlayOutEntityMetadata(armorStand.getId(), entityPlayer.getDataWatcher(), true));
            entityPlayer.b.sendPacket(new PacketPlayOutSpawnEntityLiving(armorStand));
        });``` but still don't work
opal juniper
#

metadata after spawn

#

i think

rare rover
#

oh im dumb

#

lmao

dim bronze
#

are you using groovy or gradle dls?

remote swallow
#

i just found a config for "Remote JVM Debug" so i guess i could connect through that

dim bronze
#

potentially?

#

depends if you want to go through intellij or gradle

#

lemme open intellij

remote swallow
#

if i could figure out anyway to make it just run 1 command in cmd or terminal or RCON would make it so much easier debug'ing this plugin

rare rover
#

bope

#

nope*

#

still doesn't work

dim bronze
#

you said you are debugging, what are you debugging?

remote swallow
#

ive got a for loop to go over a players inv to check for an item when they right click

#

checking its a specific item, it should be so it removes it and replaces it for another

dim bronze
#

although I guess its just a programmer mentality to spend more time trying to automate a solution, when doing it manually for as long as you needed to would be faster

remote swallow
#

except its saying that item isnt correct

dim bronze
#

are you using intellij debugging features?

#

i.e breakpoints

remote swallow
#

im not

#

just changing or commenting out stuff

dim bronze
#

I can almost guarantee that would be easier

#

intellij debugger is amazing

#

you can either attach it to the task (remote or local) or just straightup launch the server with an intellij build conf

#

and then debug rather than run

#

place breakpoints where you need to and step through each line of code, and it will tell you what the value is of each variable and what the return of each line is

remote swallow
#

i found an ij plugin like a month ago that had options for reloading the plugin except it booted the server with gui and i cant remember the name of it

dim bronze
#

bloat imo

#

learn to use the intellij debugger properly and it will make your life easier

twin venture
#

hello devs , i have a question does java 17 support :
com.mysql.jdbc.jdbc2.optional.MysqlDataSource

wary topaz
#

i think so

twin venture
#

java 17 ClassNotFoundException: com.mysql.jdbc.jdbc2.optional.MysqlDataSource

chrome beacon
#

?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.

twin venture
#

i get this error :#

#

java 17 ClassNotFoundException: com.mysql.jdbc.jdbc2.optional.MysqlDataSource

winged anvil
#

i wanna make like a template so I don't have to re-set it up everytime

chrome beacon
twin venture
#

that use java 8 ..

chrome beacon
#

It shouldn't have anything to do with the Java version

twin venture
#

then is it something to do with minecraft server versions?

chrome beacon
#

It was probably included with Paper back then but not anymore

twin venture
#

oh what should i use then?

dim bronze
#

i do remember jdbc being included before

twin venture
#

something that work on all versions ..?

chrome beacon
#

Shade and relocate the dependency

twin venture
#

thanks

chrome beacon
#

Doesn't support all versions

dim bronze
#

ah yes missed that

twin venture
#

iam using hikari

#

but iam not shading anything .. :L

twilit garden
#

is there a way to use custom models / textures with spigot?

chrome beacon
#

You can use a resource pack

twilit garden
#

hm

river oracle
chrome beacon
#

Yeah I just use the Minecraft development plugin for Intellij

#

So I've also forgotten how to make an archetype ;/

vivid skiff
#

How can i set i item unbreakble with nbtCompounds?

dim bronze
#

I just have a template git repo

#

and use that

#

less hassle

chrome beacon
#

Not sure why you want to use nms for that though

vivid skiff
#

I wrote it wrong and was not working

tacit raft
#

Hey.. I made a Server on pebblehost today and put in my plugins. all worked until it stoped to give me the config data... now I can't config my plugins anymore when I put them in and Idk what to do

chrome beacon
tacit raft
tacit raft
remote swallow
#

anyone have any ideas why my for loop on a players inventory (with null/air check) is only running 3 times

chrome beacon
undone axleBOT
dim bronze
#

send full code

#

what is playerInventory

remote swallow
#

Inventory playerInventory = event.getPlayer().getInventory();

chrome beacon
#

Send the entire method

chrome beacon
#

How many items are in your inventory

dim bronze
#

i did not know that Inventory was a Iterable<ItemStack> wow

remote swallow
dim bronze
#

it checks every slots including the ones that are air

#

so it gets to the 3rd slot

chrome beacon
dim bronze
#

and it breaks

#

continue is the keyword you are looking for

remote swallow
#

i had continue earlier, then removed it for break

ionic dagger
#

I’m interested in making a sort of chest locking plugin where the player sets an item pattern in a popup inventory. In turn, when that pattern is entered correctly it opens the chest inventory they were originally trying to lock. How would I go at storing each individual item pattern, as well as the actual chest they’re bringing up?

#

Would I do that with a hash map of uuids and j have a separate item stack array as the uuids matching value?

dim bronze
ionic dagger
#

Pdc?

#

Oh cool

remote swallow
ionic dagger
chrome beacon
#

That would loose data on restarts

#

Other than that yes it would probably work

ionic dagger
#

What if I write it into a config file?

#

Which would create a new key for each uuid and j store their items that way

ionic dagger
dim bronze
#

using a pdc is a lot less complicated and is a lot less error prone than serialising the hashmap into a config

vivid skiff
#

How can i get a player current generic.armor point?

dim bronze
vivid skiff
#

How can i make it add

wary topaz
#

does anyone use google sites?

chrome beacon
#

?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!

hazy parrot
#

deja vu

chrome beacon
#

Yeah he asked it earlier

#

And I ran the same command

weak bear
#

Hello guys

#

How can I access to a list that I create in another class that come from ?

chrome beacon
#

?di

undone axleBOT
weak bear
#

I have another question pls how can I know where a player execute a command?

tall dragon
#

uhhhh

#

by getting the player location?

weak bear
#

no

#

Just to know for cancel the event

twilit garden
#

Eh how do I check for every single ore type if they are broken?

Kinda don’t wanna do
If (event.getBlock().equals(Material.COAL_ORE) or ………)

#

Do I make a list or something?

chrome beacon
#

What version are you making the plugin for?

fallow violet
#

Why is my tps on 17.11 but my servers uses 3 cores out of 6? and the RAM uses 3GB out of 10?

#

wtf

tribal rivet
#

hello loveley people does someone know a plugin that makes furnaces faster and hoppers faster?

hybrid spoke
#

because the TPS has nothing to do with your cores or RAM

fallow violet
#

but why is it sinking?

hybrid spoke
#

probably a plugin which "skips" ticks

fallow violet
#

the server doenst use all performance

fallow violet
#

huh

hybrid spoke
#

like slowing down, blocking

#

and since there is no "hey, you lost a tick, here, i got it for you" mechanism, it just continues

#

so it skips the ticks it couldnt process

#

and that leads to a lower TPS

tribal rivet
#

how do i make my server load slow chunks?

#

like slow chunk loading so my tps doesnt drop

hybrid spoke
tribal rivet
#

oh okay

fallow violet
#

is it lagging with the low tps or not?

hybrid spoke
#

most likely

fallow violet
#

and how can i fix it? xd

hybrid spoke
#

?timings

#

ah

#

idk the command

#

profile with timings what causes the drops

fallow violet
#

alrihgt

#

its /timings ig

hybrid spoke
pallid oxide
#

Minecraft uses mostly 1 core, so having 100x cores wont help, you need fast singlecore to have good peformance

pallid oxide
hoary wing
#

Hello, how can I make this event only work in an allowed world?

#
    public void killEvent(PlayerDeathEvent e) {
        String PitchMain = (this.config.getString("KillEvent.Pitch"));
        Player killed = e.getEntity();
        if (killed.getKiller() instanceof Player) {
            Player killer = killed.getKiller();
            killer.setHealth(Double.parseDouble(this.config.getConfig().getString("KillEvent.Vida")));
            killer.playSound(killer.getLocation(), Sound.valueOf(this.config.getString("KillEvent.Sonido").toUpperCase()), 10.0F, Float.parseFloat(PitchMain));
        }
    }```
sullen marlin
#

if config.getConfig().getStringList("allowed-worlds").contains(killed.getWorld().getName()))

fading spindle
#

hello everyone it seems that i am having trouble with this project, ive tried lots of ways to fix it but sadly none of them worked, I made a killstreak code, but i think this code will not work because it doesn't check if the killer dies properly so the killestreak can reset, anyone know how to fix it and make it functional?

Code:

@EventHandler
public void onPlayerDeath(PlayerDeathEvent pde){
        Player victim= pde.getEntity().getPlayer();
        Player killer = pde.getEntity().getKiller();
        if(killer instanceof Player){

killstreak ++;
if(killstreak == 2){
//

    killer.getWorld().dropItem(killer.getLocation(),new ItemStack(Material.DIAMOND));
killer.getKiller().getKiller().getKiller().spawnParticle(PAR);
}
if(killer.isDead()) {
killstreak = 0;
}

        }
else {


    return;
        }


}```
fading spindle
sonic goblet
#

There is so much wrong

#

I wish you the best of luck brother šŸ™šŸ¼

fading spindle
#

yeah there probably is lol

fading spindle
humble tulip
#

Use a Map<UUID, Integer> to store the killstreaks for each player

#

You can't store everyone's killstreak using one variable

sterile token
#

learn java momment

#

well, even not java, programming fundaments tho

humble tulip
#

?maps

#

That should be a thing

#

?map

#

So many ppl make this mistake

sterile token
#

Maybe something called collections

humble tulip
#

Could be that as well but i feel like ppl understand arrays and lists but not maps

sterile token
#

Because they are hash table based

fading spindle
humble tulip
#

šŸ‘šŸ‘

#

For every death event make sure to reset the killstreak of the player that died

fading spindle
#

yep

humble tulip
#

Then check if the killer is not null

fading spindle
#

gotchya thanks!

humble tulip
#

If it is not null you can add 1 to the killers streak

fading spindle
#

mhm

humble tulip
#

If the killer is null that means that the player didn't die to a player

sterile token
#

Is there any utility method, which allow to evaluate a condition and allows you to run actions depending if the condition is true or false?

kind ridge
#

You mean like an if statement?

worldly ingot
#

lol

fading spindle
#

im in my main class and im tryibng to make a hashmap but it doesn't allow me to use "Public"

jagged monolith
#

An you can't use public inside other methods. So move it outside the onEnable() method

undone axleBOT
jagged monolith
#

I think Udemy should be on that learnjava link, it may be paid courses but they are really insightful haha. It's where I learned a heap of it.

wary topaz
#

What would .save be replaced with?

jagged monolith
wary topaz
#

its a txt file though

remote swallow
#

rulesFile.save(rulesFile) iirc

#

ah

wary topaz
#
#

not sure though

jagged monolith
wary topaz
#

oh alr thanks

quaint mantle
#

Since this is now deprecated, how do I register a new objective?

quaint mantle
#

What do I put in the Criteria.createa()?

#

Well I just want to make a simple scoreboard

wary topaz
#

Cannot resolve method 'getInstance' in 'Utilities'

#

line 22 and 25

quaint mantle
#

So just Criteria.Dummy?

jagged monolith
wary topaz
#

o

untold patio
#

Hello guys, I'm trying to create a command in my main class, but it is asking me for a parameter and I don't know which one (I'm kinda new in parameters)

jagged monolith
#

I always use my plugins Name as the main class šŸ˜›

remote swallow
#

thats normal imo

#

main class is the plugins name

quaint mantle
jagged monolith
#

People are silly if they don't

fading spindle
#

how is it static abuse?

untold patio
#

this is my main

jagged monolith
untold patio
#

Like this

jagged monolith
# untold patio

Naming a variable variable is a bad idea. It will be confusing and is too generic. It does not tell you what the variable is.

untold patio
#

If I wanted to register the command on the variable, how could I do it? I'm kinda new

untold patio
sterile token
untold patio
#

So the best is to name the variable what they store?

loud frost
jagged monolith
sterile token
#

Yeah something like that, but ternary is for operations which returns something

untold patio
#

Thank you so much! this is a good way to reduce code

#

No but, I call the variable

#

So I don't have to write all the thing

#

again

#

What did I do wrong :c

dusk flicker
#

variable aint an object (technically it can be, but this is an easy definition for someone that doesn't fully know java)

#

?learnjava

undone axleBOT
fading spindle
#

do i have to pass a hashmap to an events class for it to work

undone axleBOT
jagged monolith
#

Again, rename that variable. It's bad naming conventions

untold patio
#

there c;

#

Fixed!

#

Thank you c;

undone axleBOT
dusk flicker
#

this is the time for

#

?learnjava!

undone axleBOT
jagged monolith
# untold patio

change listarWarps to listarwarps (no captial in command names)

dusk flicker
#

it's with the !

#

lol

hazy parrot
#

Any idea where spigot handles default values for config (ie when config.yml doesn't have some value but inside of resources folder it has)

untold patio
#

It's not saving my warps

#

D;

#

No I mean, I'm trying to create warps (/setwarp "Name") and then add it to an arraylist, so that when I execute (/listarwarps) it shows me all the saved warps

#

This is my code for adding warps to an arraylist

fallow violet
#

is there an event if you shift an item into another container?

#

like shifting item in chest

jagged monolith
# untold patio It's not saving my warps

Best way to do it, is when you start the server, load the warps into a map from the file, then access them from that map. When you stop the server, save the map contents to a file.

untold patio
#

Even if it closes

desert loom
jagged monolith
fallow violet
#

thx

jagged monolith
untold patio
#

But, right now I executed (/setwarp (name)) command

quaint mantle
#

Can't find the proper Criteria for a scoreboard.

untold patio
#

And when I want it to show me the saved warps (the arraylist)

#

there's nothin there

#

:c

desert loom
#

show us where you're listing the warps

jagged monolith
#

If it's only a small amount of reading an not all the time, no you won't see a difference. But Aside from performance, it's also good coding convention.

untold patio
fallow violet
#

can u get the title from the Inventory class somehow?

desert loom
#

No I mean the command that lists the warps, you only showed us the command that creates them

untold patio
#

This is the command for listing them

#

this is when I register them

desert loom
#

Yeah, it's probably because you are passing a new warps instance rather than the same one.

#

pass warpList instead of a new instance that should solve your issue

untold patio
#

Like thisĀæ?

jagged monolith
#

?learnjava! moment again

undone axleBOT
untold patio
#

Ok let's see if I understood this, when I get a command and I say (new) I'm meaning that when the user executes that command It's gonna "start" a new method

#

Alright, that's a bit clearer, anyways I'll have to continue practicing

#

Thank you so much guys ā¤ļø

#

This is the first "Plugin" I'm making and I'm trying to create anything that comes to my mind on it

fallow violet
#

no true

jagged monolith
untold patio
#

It works propperly on that

fallow violet
#

okay...

untold patio
#

Now I wanted to use a bit of OOP, (which is the course I'm seeing in the University)

#

There's just a few things that I have to understand, first, how instances work (I mean, the point you just showed me about sending something to the first instance and not showing in the second) and second the "this"

#

Thank you c;

undone axleBOT
untold patio
jagged monolith
#

di is the main part you need to understand really.

fallow violet
#

can i get the final slot of the item which got moved?

untold patio
#

Alright I will read all the documentation you guys sent me

#

So that I can understand and get many things clear

#

Thank you guys for the support ā¤ļø

#

That's a nice advice! I use to mostly spend my night time coding, and only 3 days ago I began with the creation of plugins

#

I just made a new teleport command to the created warps! It's working!

echo basalt
#

^don't mind this dude, he's inferior

#

it's odd

#

basically uses reflections to analyze the class

#
  • Grab the class
  • Get all methods annotated by @EventHandler
  • Get their params

\-> If, the param length is not 1, or the first param can't be assigned to an Event, we throw an error message
\-> Otherwise, we wrap it around a RegisteredListener and stick it in the HandlerList

hybrid spoke
#

you register the listener

#

by that you let cb know the class

echo basalt
#

why can't you just middle click it yourself and figure it out ;)

quaint mantle
#

If I ever wanted to recreate Hypixel’s friend system. What should I do if player A removes player B? I know this could be easy if I take player B from database and remove their friendship but what if player B is already online?

#

How can I communicate my plugin with all servers inside a network?

echo basalt
#

this is why you use Redis as a cache

#

And why you should start from the bottom and learn your way up instead of copying hypixel from scratch with no experience

quaint mantle
#

I’ll be honest, it’s not even related to a friends system nor a Hypixel gamemode but I found that the issue is in common with it.

echo basalt
#

Okay

#

Well, friendships are relations

#

so we can start by using a relational database, like SQL

hybrid spoke
#

and you want to let player B know that he got removed or what?

quaint mantle
#

How can I host redis? I mean, Pterodactyl and Multicraft gives you MySQL databases but how can I get redis?

echo basalt
#

Redis is always used as an intermediary cache as it has a lower latency

quaint mantle
#

I mean, how can normal people without coding experience get in hands of redis?

echo basalt
#

if a server is distributed it most likely needs redis anyways

#

for things like RedisBungee

sterile token
#

I have a dude with github

#

Why github is not opening pull request for merging when working on the dev branch?

quaint mantle
#

By any chance. Any body knows a cheap Redis hosting? lol

sterile token
#

🤣

quaint mantle
#

I mean for normal people

sterile token
#

Its the chepest option

quaint mantle
#

I mean to use this in a Spigot plugin

sterile token
#

Yeah raspberry

#

its all integrated pc

remote swallow
#

but they cost like 100$ us

sterile token
#

but small

remote swallow
#

not everyone can get them

quaint mantle
#

What about that 13 yo kid who just prefers to host everything online?

sterile token
sterile token
#

They give access to 1 redis db

quaint mantle
#

I mean, the same way there are Minecraft hostings, there should be redis hostings 🤨

echo basalt
#

and you can self-host too

sterile token
quaint mantle
#

Is it possible to self host through a bungee plugin? lol

sterile token
#

some host provide them

sterile token
echo basalt
#

this dude is trying to make hytale

sterile token
echo basalt
#

just accept that some of your users are not gonna have redis and your customer base will be slightly reduced

#

or... make your own impl for broke people

sterile token
#

Because bungee doesnt its not sincronized with severs directly

echo basalt
#

bungee can be bypassed in a weird way

#

like it just serves as a link between servers but spigot doesn't know what bungees it belongs to, natively

sterile token
echo basalt
#

no comment.

sterile token
#

hahaha

#

Ilussion

#

I need your u

#

Do you remmeber your menu api?

echo basalt
#

no

sterile token
#

😔

#

I need your help

echo basalt
#

no you don't

sterile token
#

Yes laddy

#

I need you to help with the chaineable

#

šŸ˜‚

#

I have everything else working

#

Just unable to make the chaineable thing

#

Also shity github, for none reason is not doing any more merge pull request into main brainch automatically

#

😔

wary topaz
#

if (plugin.getResource("rules.txt") == null) {
It does not accept .exists so how do I check if its not a thing?>

worldly ingot
#

It's nullable, so that's right

wary topaz
#

hasnt created the file

#

let me send the code

#
            plugin.saveResource("rules.txt", false);

        } else {
            sender.sendMessage("ok");
        }```
sterile token
#

?jd-s

undone axleBOT
glad prawn
worldly ingot
#

oh. Are you trying to check if the rules.txt exists in the plugins/YourPlugin dir?

wary topaz
#

yes

worldly ingot
#

getResource() gets a resource inside of your .jar file

#

Not what you want

wary topaz
#

thank you verano

jagged monolith
#
//Create a reference to textfile.txt
File myfile = new File("files/textfile.txt");
 
//Check if textfile.txt exists in the referenced location
if(myfile.exists())
{
    //textfile.txt exists, so it can be opened
}
else
{
    //textfile.txt does not exist
} 

Use something like this.

wary topaz
#

wait thats yaml config

sterile token
#

Why txt

#

LMAO

#

šŸ˜‚

worldly ingot
#

Because it's a rules file. txt is fine

wary topaz
#

its a rules file

glad prawn
#

rules.yml xd

wary topaz
wary topaz
worldly ingot
#

You can check if Files#notExists() instead for an in-line without having to create a File instance

jagged monolith
glad prawn
worldly ingot
#

if (Files.notExists(plugin.getDataFolder().toPath().resolve("rules.txt")))

wary topaz
worldly ingot
#

What?

worldly ingot
#

The NIO Files class has been in the JDK since Java 7 ;p

#

It's actually technically the preferred file system API

wary topaz
#

how do I stop this from showing without replacing the file

worldly ingot
#

One of the most obnoxious things about saveResource() tbh

#

You have to do that file check yourself and just not call saveResource()

jagged monolith
wary topaz
#

thanks @jagged monolith

jagged monolith
#

It may not be the best way for file handling. But it works fine

wary topaz
#

hope they update the saveresource soon

#

šŸ˜„

#

okay my next question

#

when a player executes /rules i want it to send the messages in the rules.txt file:
*line by line

jagged monolith
#

Not sure if it will work for txt files, but basically you'll want to get the messages as a list or array and just send the message to the player

wary topaz
#

Could I have some help with that?

jagged monolith
#
  public void broadcastAnnouncements() {
    Random rand = new Random();
    List<String> messages = new ArrayList<>(configFile.getConfigurationSection("Announcement_Messages.Messages").getKeys(false));
    String announcement = messages.get(rand.nextInt(messages.size()));

    for(Player player : Bukkit.getOnlinePlayers()) {
      if(configFile.getBoolean("Announcement_Messages.Messages." + announcement + ".Hover.Enabled")) {
        sendWithHover(player, announcement);
      } else {
        sendWithoutHover(player, announcement);
      }
    }
  }

That's an example of how I get a few messages from a file and pick a random one and send to player. But instead of broadcasting and picking one randomly, you'd just want to send all of them

#

Not sure if the same getConfigurationSection() etc.. methods will work on text files though. never tried it

remote swallow
#

iirc its only on FIleConfiguration

sonic goblet
#

No it will not that’s yml only

jagged monolith
#

Thought so.

sterile token
#

Is what you need

#

Take a small look

sterile token
#

i dont know how to parse text sorry

wary topaz
#

o

earnest forum
#

google search should help

jagged monolith
#

I've always used yml files as it's easier.

wary topaz
#

i did it

wary topaz
#

i just added Scanner sc = new Scanner(file);

while (sc.hasNextLine())
  System.out.println(sc.nextLine());

}

#
        try {
            sc = new Scanner(rulesfile);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }

        while (sc.hasNextLine())
            System.out.println(sc.nextLine());```
For anyone else who has the problom here is how I fixed it.
jagged monolith
sterile token
#

?di

undone axleBOT
zealous scroll
#

Do nms packets not come with the built spigot jar from buildtools?

river oracle
#

if your coding with spigot

#

use maven or gradle

#

more specifically for nms use maven

river oracle
wicked remnant
#

works fine on 1.19.2

supple horizon
#

Only then did I realize that the reverse proxy plug-in could not be started.

wicked remnant
river oracle
#

I forgot when guice was included in bukkit

#

but I know it was in a more recent version

#

though you shuold probably stop coding for 1152 its old no one uses it

stray nacelle
#

how i can handle snowman spawning? 1.17.1

sonic goblet
#

Emotionally? I’m not sure any single human can handle something like that

river oracle
#

Snowman spawning is too much 😢

wary topaz
#

i think i broke discord ;P

shut meadow
#

how to check which daytime we have in the overworld

#

?

summer agate
quaint mantle
#

Yo Guys, I'm trying to interact event but it called twice
I tried to test like below (version on 1.19.2

  @EventHandler
    public void onInteract(PlayerInteractEvent event) {
        Player player = event.getPlayer();

        Action action = event.getAction();
        EquipmentSlot e = event.getHand();

        if (Objects.equals(event.getHand(), EquipmentSlot.HAND)) {
            player.sendMessage("test");
        }
}

How can I fixed it ?

summer agate
#

Interact event gets called for both main and offhand

#

checkevent.gethand

quaint mantle
#

Yeah I know that, but What's different checkevent.gethand and event.getHand(); upper?

summer agate
# quaint mantle Yeah I know that, but What's different checkevent.gethand and event.getHand()...
GitHub

The premier long-distance brush editor for Minecraft, reimagined! - VoxelSniper-Reimagined/VoxelSniperListener.java at f458fa99be8468e5f3627e076615c63f353df6ba Ā· KevinDaGame/VoxelSniper-Reimagined

quaint mantle
#

OH K, I'll try it

#

but it still same

summer agate
#

Are you sure you aren't double registering it?

quaint mantle
#
    @EventHandler(priority = EventPriority.HIGHEST)
    public void onInteract(PlayerInteractEvent event) {
        Player player = event.getPlayer();

        Action action = event.getAction();
        EquipmentSlot e = event.getHand();
        if (event.getHand() != EquipmentSlot.HAND) return;
        player.sendMessage("test");
 
    }
mild tundra
#

Hey can someone make me a custom plugin

quaint mantle
mild tundra
#

@quaint mantle can you make me a custom plugin

quaint mantle
#

Yeah I guess the same way

summer agate
#

I remember having an issue with this but not how I solved it

summer agate
#

Oh yeah

#

If you are within rightclick range, it fires once for the interact on block and once for rightclick in general I think

#

Try checking event.getAction

quaint mantle
#

Oh Ok

summer agate
#

Totally forgot because we handle it in a different class

quaint mantle
#

Oh, Something like this?

       if (event.getHand() != EquipmentSlot.OFF_HAND) {
            if (event.getAction().equals(Action.RIGHT_CLICK_AIR)) {
                player.sendMessage("test");
            }
        }
summer agate
#
  if (event.getHand() == EquipmentSlot.HAND && event.getAction() == Action.RIGHT_CLICK_AIR) {
      player.sendMessage("test");
  }

that works, or like this. I prefer less indentation

quaint mantle
#

I can't find EquipmentSlot.MAIN_HAND

#

Oh

#

Ok

summer agate
#

Oh yeah, I remember that making sense

#

Oh yeah, forgot that existed, that's what I do myself lmao

quaint mantle
#

Oh, Upper

  if (event.getHand() == EquipmentSlot.HAND && event.getAction() == Action.RIGHT_CLICK_AIR) {
      player.sendMessage("test");
  }
``` this?
summer agate
#
if(event.getHand() != EquipmentSlot.HAND) return;
if (event.getAction() != Action.RIGHT_CLICK_AIR) return;
player.sendMessage("test");

If it works, it works.
This also works, but without indentation

quaint mantle
#

Lmao

quaint mantle
#

I think it works perfectly, But it works imperfectly

#

Lmao

#

I don't know what is off hand

#

same as left hand?

summer agate
#

Oh yeah you're right, offhand is the secondary hand, can be left or right depending on the players setting, most have it as the left hand

shadow night
#

hi anybody got experience with nintendo 3ds files?

chrome beacon
#

?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!

quaint mantle
#

hey, is there an way to check the value of an yml config key?
getKeys() only shows the keys itself but i want to see the values of these

configsection:
  key1:
    subkey: "hello"

vocal cloud
#

Use the keys to get the values?

quaint mantle
#

but how?

#

i'll send the code i currently have

#

https://pastebin.com/xxn0kBEP

thats a piece of my code.

basically what i want to do is, if the key has an specific value it should do different things in an gui inventory.

chrome beacon
quaint mantle
#

because if i check it as an boolean there is an red error. it wants an string instead of an boolean

chrome beacon
#

Also why are you mixing components and legacy colors

#

The key isn't the value

#

It's the key

#

You need to get the value from the key

quaint mantle
#

yes and that was the main question. how do i get the value of an key

#

thats what i dont know. and i dont find anywhere in the internet

chrome beacon
#

?configs

undone axleBOT
quaint mantle
#

yes i know how to get a single value from the config but i need to loop through all values in an specific config section

#

in the right order

#

and get the values

#

thats what difficult

chrome beacon
#

Yeah so do a for loop

#

And use that get the values

quaint mantle
#

okay

vivid skiff
#

How can i play a sound to nearby player but with different volumes?

chrome beacon
#

Play sound has a volume argument

vivid skiff
hoary lance
#

the item doesn't get removed for some reason

#

"event.getItem().setAmount(0);"

tardy delta
#

try ChatColor.stripColor

#

you probably want to work with a pdc entry instead of comparing displayname tho

#

?pdc

hoary lance
#

but the problem with that is if I consume it in off hand the item in main hand gets removed instead of the potion

pseudo sluice
#

setVelocity is so weird lets be honest

chrome beacon
#

Hm why?

hoary lance
pseudo sluice
#

you can't event setVelocity(x, 64, y) properly

hoary lance
#

Very nice feature though

#

I love set velocity

pseudo sluice
#

without delaying 1 tick if there is a block above you

heavy hamlet
#

how do i add skripts to spigot?

fluid river
#

?

limber spear
#

can someone tell me how to fix this?

fluid river
#

set utf8 in your text editor

#

and project settings too

#

also update your project, maybe you forgor

ornate mantle
#

while working with guis, do you use a gui api or just code the gui yourself using events?

dire salmon
#

Whatever u want, but ig api is kinda better

#

I dont use it tho

ornate mantle
#

ive got an anvil and the crafting table fully functional using hardcoded events

ornate mantle
#

do i move to an api for readability or keep it that way

ornate mantle
fluid river
#

cuz you know

#

sometimes you need multi-paged inv

#

for your very specific case

#

no lib can do this for me

limber spear
fluid river
#

inventory.setContents(ItemStack[]);

tardy delta
#

smh me going async with saving players and pool is closed before they are saved

#

bruh bson not accepting that name?

tardy delta
#

this not working either lol

#

player-uuid not getting accepted too bruh this is cursed

#

internal code not useful at all

fervent prawn
tardy delta
grand flint
#

Can I make something like this with datapacks or plugins?

tardy delta
#

hologram

#

you can make that with an invisible armorstand

grand flint
#

No but, when you get further away it gets bigger and you can see it away from like 1000 blocks

#

That part is easy, I just don't know if it is possible to make it get bigger as you get further away without mods

hybrid spoke
#

just spawn it infront of the player if he's looking at that point

#

with that you fake the distance

tardy delta
#

that looks like too much documents lol

grand flint
#

Won't it be buggy as I have to uptade it in like milliseconds at times?

hybrid spoke
#

you only have to update it if the player is moving

tardy delta
#

inventory::getSize()?

grand flint
remote swallow
#

its including, armor and off hand probably

hybrid spoke
grand flint
#

Is this possible with datapacks?

tardy delta
#

mongo drivin me crazy lol

remote swallow
#

unless you have some magic going on a players inventory will be 36

tardy delta
#

static abuse

river oracle
#

static lmao

#

wtf

humble tulip
#

That's static abuse but which line