#help-development

1 messages · Page 1145 of 1

pseudo hazel
#

then dont have them as keys 🤷‍♂️

pure dagger
#

umm

nova notch
#

what

#

why do you need specifically dots

pure dagger
#

what about ConfigurationOptions#pathSeparator(char)????

hazy parrot
#

are u sure that snakeyaml doesn't already support keys with dots ?

remote swallow
#

its bukkit that doesnt support it

#

afaik

hazy parrot
#

oh

pure dagger
#

oh

#

xd

#

then

remote swallow
#

yeah that would work

pure dagger
#

thats god

remote swallow
#

it would change the seperator everywhere though

#

on any access for that config

pure dagger
#

what do you mean

#

everywhere

remote swallow
#

everywhere you access that config

hazy parrot
#

if your separator is @, you would call config.get("some@path") i assume

pure dagger
#

yeaha`

pure dagger
remote swallow
#

so you could already have wrote config.setString("my.cool.path") if you now change that seperate to @ you would have to go and change your existing config.setString to config,setString("my@cool@path")

pseudo hazel
#

why not just write permissions as my,permission,is,cool

#

instead of flipping up everything else

pure dagger
#

i dont knonw

glossy laurel
#

So I update all players' scoreboards every second (It has a live time counter) in a runTaskTimer, but it takes up quite a bit of server resources. Is there any way to optimize it? Can you set players' scoreboards async or something?

pseudo hazel
#

no

#

you cant set it async

#

whats the code you wrote for it

#

it seems to work fine for me

#

(im only testing with like 10-20 players though atm)

glossy laurel
#

Retrieves player data from hashmap

#

Sets 7 lines to values

pseudo hazel
#

?nocode

undone axleBOT
#

It’s hard to answer a programming question without code
Oh no! You ran into a problem. But no worries, people are willing to help, but first they need to see your code. This is because otherwise, they would be providing help based on guesses instead of concrete knowledge. Whether it be a compile error, runtime error, or an unexpected output, I'm sure that if you were to provide code, you'd receive a quick solution.

pseudo hazel
#

liek how are you settings the lines, how are getting the information to put in the lines

#

etc

#

and is that 0.18% per tick?

#

or once every second

river oracle
#

not sure what I expected but rewriting ItemMeta is a pain

paper viper
river oracle
#

I pretty much only do spigot PRs and on the side I work on my own software from scratch, but I haven't had time to touch it since August between other projects

peak moth
#

Hey, anyone here familiar with PermissionAttachments?

#

I am setting a PermissionAttachment but when the player relogs, they then lose the attachment.

young knoll
#

Yeah that’s how it works

peak moth
#

such as minecraft. and bukkit. permissions

#

so everytime they join the server again, I should be setting their permission attachment?

quaint mantle
young knoll
#

Yes

peak moth
#

i thought it would persist in memory

#

i guess its tied to the player obj though

#

alright well thanks

young knoll
#

Whenever the player relogs its a new player object

echo basalt
#

I wrote my own itemstack serializers because bukkit's serialization system results in ugly configs

quaint mantle
young knoll
#

I assume the minecraft and Bukkit ones are added by the server itself

echo basalt
quaint mantle
#

🤣 😢

slender elbow
#

dfu:

young knoll
#

dfwho?

slender elbow
#

dfu

echo basalt
#

nah no need this is just for like

slender elbow
#

dfcoll

echo basalt
#

saving a kit to a file or wtv

#

not for database stuff

slender elbow
#

yeah?

#

you can still use dfu lol

quaint mantle
#

whyat is dfu

young knoll
#

Data fixer upper

slender elbow
#

you don't wanna know

#

you really don't wanna know

young knoll
#

It’s what Mojang uses to update data between minecraft versions

#

Might be slightly cursed

quaint mantle
#

xD

#

does bukkitobjectoutputstream/input stream still break based on version changes?

echo basalt
#

prolly not but prob does

#

(this means nun)

quaint mantle
echo basalt
#

Probably shouldn't but probably does

quaint mantle
#

my good sir

#

your brain

#

hurts my brain

nova notch
#

wear a helmet 👍

echo basalt
#

I wonder if there's a way to mass refactor variable names based on criteria

slender elbow
#

it's ridiculously complicated but just as powerful

river oracle
#

you should really just use NMS, i have a byte serialization API in queue, but who knows when if ever it will get merged

slender elbow
#

how about tomorrow

#

for your birthday

river oracle
slender elbow
#

you won't get me that easily

river oracle
#

if itd oesnt' get merged until my birthday I'll have to wait a year

#

that'd be a horrific time

slender elbow
#

omg so it's today??

#

happy birthday

#

how could I forget

river oracle
#

oh yeah its totally today

#

how could you ever forget I know we maintain such a very close friendship I'm almost surprised you forgot

#

I'm beyond stunned, just don't forget again

slender elbow
#

oh don't worry

#

I will

river oracle
#

oh no I'm so heart broken

#

why don't you just put it in your calendar to give the illusion of caring

#

that way next October 1st you can ping @river oracle and say happy birthday and then I'll be like oh wow I can't believe you remembered I'm soooo touched

slender elbow
#

I will

#

🫶

river oracle
#

such a thoughtful soul

quaint mantle
river oracle
#

I should really just throw together a small library for good QOL stuff that should just be in the API and isn't and maintain it

#

the NMS for some small stuff isn't that big

#

the only true thing I can think of rn is components and the data serialization

quaint mantle
river oracle
#

e.g. you can have certain click events and hover events

#

you can also much more easily display RGB and hex values without hastle. Its all around much better than legacy text

quaint mantle
#

oh thats right

#

i remember that i havent worked with it in ages tho

river oracle
#

the only downside imho is the need for some good parsing library like Minedown or Minimessage, but honestly Minimessage is great

#

I have my own ripoff that kinda half works xD

sly topaz
river oracle
#

which is nothing

quaint mantle
#

do we know when itemstack.tobytes or whatever is gonna be merged?

sly topaz
#

time to fork it

#

bukkit-adapter++

river oracle
quaint mantle
sly topaz
#

you don't have to wait around for it to be merged tho, you could just copy the impl into an utility method

river oracle
#

I think we're on a merge freeze for features because 1.21.2 is coming up soon here

sly topaz
#

don't think this PR would affect upgrading that much if at all tho

sly topaz
#

but welp, I know it is hard to be flexible when working with projects of this scale

worthy yarrow
#

When support for hybrid servers :p

river oracle
#

hybrid servers can go kick the bucket already

worthy yarrow
#

kek

quaint mantle
river oracle
#

it uses internals pretty heavily for obvious reasons

quaint mantle
merry cove
#

Hey, so earlier I've installed nms using maven and a local jar which worked fine. Now I want to directly add the jars into my project cause I want to add multi version project* structure > libraries. So I did that, went over to modules and added it as a dependency. Invalidated cache and restarted the intellij and still can't see any trace in-code?

river oracle
#

don't directly add jars to your project

#

just do multi module projects correctly and you'll be fine

merry cove
#

Well, how do I add support for multiple versions when the <plugin> specialsource only takes one?

quaint mantle
#

yo @river oracle is the new bytes serialization gonna support persistentdatacontainers or whatever they're called?

sly topaz
river oracle
quaint mantle
quaint mantle
#

💀

sly topaz
#

why would an ItemStack do anything with game profiles besides maybe skulls

sly topaz
#

either something I don't understand is going on or that class is terribly named

river oracle
#

terrible ass name 🤷‍♂️ I wouldn't even use spigot maps if I were in charge

river oracle
sly topaz
#

I was looking at it, it is pretty trivial actually

quaint mantle
#

if i were in charge every method and variable would be obfuscated and there would be two layers of obfuscation - nms would be obfuscated, and i'd introduce sms - spigotminecraftserver. so first you have to tackle obfuscation of sms then nms 🔥

#

🤣

sly topaz
#

I just don't know at a glance what methods one might not have full visibility to

sly topaz
#

Y2K, does the full NBT also contain the components?

worthy yarrow
quaint mantle
river oracle
#

it handles all that stuff

sly topaz
river oracle
# sly topaz Y2K, does the full NBT also contain the components?
   public Tag save(HolderLookup.Provider provider, Tag tag) {
      if (this.isEmpty()) {
         throw new IllegalStateException("Cannot encode empty ItemStack");
      } else {
         return (Tag)CODEC.encode(this, provider.createSerializationContext(NbtOps.INSTANCE), tag).getOrThrow();
      }
   }
sly topaz
#

well that tells me absolutely nothing since I do not know what the CODEC is encoding in this case lol

quaint mantle
river oracle
# sly topaz well that tells me absolutely nothing since I do not know what the CODEC is enco...

the ItemStack codec does this

      () -> RecordCodecBuilder.create(
         instance -> instance.group(
               ITEM_NON_AIR_CODEC.fieldOf("id").forGetter(ItemStack::getItemHolder),
               ExtraCodecs.intRange(1, 99).fieldOf("count").orElse(1).forGetter(ItemStack::getCount),
               DataComponentPatch.CODEC.optionalFieldOf("components", DataComponentPatch.EMPTY).forGetter(itemStack -> itemStack.components.asPatch())
            )
            .apply(instance, ItemStack::new)
#

its basically just encoding the ItemStack instance that it is in

#

I'm taking an NMS ItemStack and encoding it using their built in save method which turns it into a Tag

#

I just then encode that tag into bytes and run it through DFU when I read it

sly topaz
#

it encodes the patch, that's interesting

river oracle
sly topaz
#

wouldn't the patch have less information?

river oracle
#

I don't fully understand DataComponents yet

sly topaz
#

me neither, so we are both at a loss here lol

river oracle
#

I will probably learn more as I reimplement ItemMeta, but for now I am clueless as hell

sly topaz
#

I just haven't properly taken a look at it tbh, it doesn't look too complex

#

why reimplement ItemMeta, it is fine as it is

#

the component related methods are definitely horribly named though, who though getFood was a good idea

river oracle
#

I do things as toy problems all the time

sly topaz
#

besides, it just doesn't scale

#

is there going to be a getter-initializer method for every single component in an item

river oracle
#

based on the changes Mojang have been making it seems like components won't really be stable either

#

they've really been switching stuff around

sly topaz
#

yeah but that's the every day thing, I'm more worried at the fact components have received the love they deserve, considering how much functionality they enable

#

Paper's attempt at it isn't bad either, just a bit too "raw" which is a shame

river oracle
sly topaz
#

then again, once it is merged they'll probably iterate on it which at least is a step forward

sly topaz
river oracle
#

yeah that's true

sly topaz
#

once they find a good balance, they'll stop changing the existing components as much and the worry will just be any new ones they might add

river oracle
magic beacon
#

does anyone know how to add custom textures to mulitple items coded to the same item?

nova notch
#

custom model data

#

look up "how to make multiple custom textures using custom model data" and theres a bunch of tutorials

magic beacon
#

Thanks bro!

carmine mica
sullen marlin
#

No the implementation is terrible

echo basalt
#

paper nuking CraftItemStack and just making it plug straight into nms

sly topaz
carmine mica
#

||removed components|| ||ItemFlag||

sly topaz
#

I mean, components are still a relatively new concept, so it's only fair that it's kind of a mess on that side right now

#

more so with spigot since it isn't like there's too much involvement from the community to decide on what would be a proper design that can also work with the current API

#

even in Paper, which I deem more open on that side, people barely comment on it so no meaningful progress has been made yet

echo basalt
#

yes

#

broke some ancient popular plugin because it was doing hacky shit with non-item itemstacks

#

had to rewrite half of it because paper made a breaking change, go figure

quaint mantle
#

why do i feel like my bukkitobjectoutputstream serialization is going to break in the next update 💀

#

🤣

remote swallow
#

it shouldnt™️

quaint mantle
#

the tms are crazy

#

🤣

remote swallow
#

what are you serializing

quaint mantle
#

itemstacks 💀

remote swallow
#

it should update as item stacks are versioned

#

are you just wanting to store it as a bytearray or just kv in a yaml config

quaint mantle
#

bytearray 🫡

#

in blob in sqlite

carmine mica
# echo basalt yes

what? CraftItemStack still exists with barely any changes. Not sure what you are talking about "breaking change". Anything not in the API is... not in the API. so any change isn't really "breaking" any sort of api contract

echo basalt
#

Or was it regular itemstacks delegating to craft delegating to nms

#

Something about being able to have non-item itemstacks broke with paper

#

And only paper

worldly ingot
#

I mean we throw an exception for non-item ItemStack instances, but that's been the case for like at least 7 years

#

Oh, we don't throw an exception for that. We just state in the Javadocs that it's undefined behaviour. Maybe Paper does lol

quaint mantle
#

chat for generating empty void worlds, if you have a void world as your main world, how would you go about making sure it doesn't swap to normal generation after a restart. i know theres the config setting in bukkit, but multiverse doesn't use that so im wondering if theres another way

magic beacon
#

Yo so we recently made an SMP where a plugin has so many totems and each of them have an ability they do or give you an effect. But the dev coded it to where they are not there own items. So you can’t get them in creative menu or /give only a special command. Does anyone at all know how we can still get textures in them? Please dm and we can msg or call idc

nova notch
#

but you really should just talk to the dev about adding model data to them

blazing ocean
#

nobody uses optifine and most players don't have CIT resewn

nova notch
#

thats why i said if you cant do custom model data

#

unless theres a 3rd option im unaware of

blazing ocean
#

shaders

#

i mean, you can shift the texture index by time of day

nova notch
#

uh

#

yeah idk about that

#

but yeah i do agree CIT is kinda ass, just the only other thing i could think of

blazing ocean
#

custom model data really isn't that hard to do

nova notch
#

its not but it is also up to whether that dev feels like doing it or not

#

CIT + anvil is a fallback option

blazing ocean
#

anvil?

nova notch
#

to rename it

#

i think that works at least?

blazing ocean
#

yeah but you need your users to have cit resewn or optifine

blazing ocean
nova notch
#

that wouldve been useful like several months ago

#

oh nvm its kotlin

quaint mantle
#

this will probably look like a question from a guy who doesn't know anything of java, but...

what's static actually meant for?

fading drift
#

can you pay people to do code reviews

agile anvil
#

If you don't know this, you probably better learn some basic OOP before continuing

quaint mantle
#

oh okay thanks for that good answer

#

more ppl like you

fading drift
#

anyone know the best way to only allow players to break player placed blocks in 1.8.8?

#

list of locations or add nbt/metadata to blocks

ivory sleet
ivory sleet
#

Yea, we have a couple of things that can be static:

variables, functions and classes (might have missed something)

#

so yea

#

the staticness of those things has to be explicitly written in ur program before you compile it, for example so it’s not like a variable will just turn static

fading drift
# fading drift list of locations or add nbt/metadata to blocks

went with this approach:

event.getBlock().setMetadata("playerPlaced", new FixedMetadataValue(XinCraft.getInstance(), true));

        if (!block.getBlock().hasMetadata("playerPlaced")) {
            Utilities.send(event.getPlayer(), ChatColor.RED + "You can only break blocks placed by a player!");
            event.setCancelled(true);
        }```
#

is there a way to make sure players are always sent to a specific world no matter what world they logged out at?

#

without just teleporting on playerjoinevent

ivory sleet
#

I’m not sure but you may be able to teleport them in the login event already

#

Making it more seamless just

fading drift
#

anyone have any idea why I cant set a players scoreboard during PlayerJoinEvent and I have to process it in the next tick?>

#

actually even doing 0 delay it will work but not if I outright call it

#
      new BukkitRunnable() {
         @Override
         public void run() {
            XinCraft.getInstance().getScoreboardManager().updateScoreboards(player.getWorld());
         }
      }.runTaskLater(XinCraft.getInstance(), 0);```
eternal oxide
#

Until the join event is finished the Player has not fully joined

#

A scheduling of 0 is also next tick (in all instances other than when called when already in a runnable.

fading drift
#

interesting

#

is there a post player join event of sorts?

eternal oxide
#

no

#

just do anythign 1 tick later

#

like teleporting the player

fading drift
#

teleporting works tbh its just scoreboard

#

ill prolly chuck it all in a runnable for safety tho

#

do runnables hinder performance at all?

eternal oxide
#

extra complexity always adds an overhead, but nothing noticable

#

^ Three edits for typos. Doing good this morning.

fading drift
#

anyone have a code example for manipulating the tab list by adding header and footer

#

without other plugins

#

nvm got it!

valid burrow
#

is there a way i can let players move through cobwebs faster without having to intercept the playermove event and manually modify their speed?

smoky anchor
#

I think you can use the movement_efficiency attribute
"A factor to improve walking on terrain that slows down movement. A value of 1 removes the slowing down."

#

Or it may only be for soulsand and such and not cobwebs
I am not sure about this

valid burrow
smoky anchor
#

Weaving potion effect actually reduces the slowdown to 50%

valid burrow
#

ah thx that will work

pseudo hazel
#

you cant walk on water nor on cobwebs

#

so the description is accurate

stuck oar
#

i have an arena plugin and i want to make it so that when the first person enters it tps them to a certain spot and if another person comes in it checks if there is a first person

#

how do i do that

valid burrow
#

cache the players

stuck oar
#

how would i do that

valid burrow
#

on the playerMoveEvent check if they enter the arena

stuck oar
#

got that

valid burrow
#

when the second player enters you check if the player object holds a player and if so you got both your players now

stuck oar
#

alright thansk

valid burrow
#

np

stuck oar
# valid burrow np

(World) config.get("arenaWorld")

do u know why this is giving me errors

eternal oxide
#

yes

young knoll
#

Because a config will never return a world object

eternal oxide
#

you can't store nor retrieve a World object from a config

stuck oar
#

oh

young knoll
#

Use Bukkit.getWorld(name)

stuck oar
#

is there any way around that?

#

ah alright thanks

young knoll
#

(Or uuid)

keen torrent
#

Is there someone fluent with hibernate? Im failing with managing my db communitation in my plugin, need some guidance

fading drift
#

is there a method for getting tick tps

#

even with nms

peak depot
eternal oxide
#

^ NOT in Spigot

flint coyote
#

Oh nvm that is no longer a thing

fading drift
#

the first element in the array?

flint coyote
#

Oh I just forgot the nms dependency. Then it is a thing

#

The array is 1min,5min,15min

#

so depending on what you need take any of those

#

It sometimes returns more than 20, at least it used to in 1.18 - so you might wanna do some testing and show 20 if it's > 20

fading drift
#

yeah ur right it returns 22 lol

orchid brook
#

How do prison/gens/dungeon servers generate such astronomical amounts of money, like 1.30569E80? Because I heard the limit was 10 trillion with Vault due to the Java double limitation.

peak depot
#

I think

#

or they just have a small value with and a type / multiplier

orchid brook
#

So they edit vault source code ?

peak depot
#

do your own eco

#

prob simpler

orchid brook
#

Even if i do my own eco plugin with Bigint is my plugin will work with vault ?

peak depot
#

prob not

#

only if you get modify vault to work with a middle ware from you

rough drift
orchid brook
#

Ok so basicly i will need this:

  private double base;  // The floating-point part (e.g: 1.3)
    private int exponent; // The magnitude (e.g: 80 for E80 for 1.30569E80)
slender elbow
#

🚫 floating point

quiet ice
#

BIG DECIMAL

crystal oracle
#

Hey there,
Im here and want to download Spigot 1.8.8. Everytime I tried to download it, I end up on a "Page not found" side 😑

#

can y help me 😄

eternal oxide
#

there are NO downloads for Spigot

#

of any version. You need to run Buildtools

quiet ice
#

Does BT for 1.8 even still work?

#

Ah right, you can still use older BT versions

eternal oxide
#

it does, but you have to build a newer version first

crystal oracle
#

mhh ok

crystal oracle
river oracle
quiet ice
#

ok.

river oracle
#

Using 1.8 is a crime enough but the ignorance to use regular spigot with 1.8 now that's just a war crime

quiet ice
#

true dat

#

people should use TitaniumSpigot instead

river oracle
young knoll
#

👀

remote swallow
#

@tender shard would say rusty spigot

magic beacon
#

In the code or whatever

#

He said he already added custom model data keys in the config

blazing ocean
pseudo hazel
#

in a resourcepack obv

fading drift
#

there are definitely downloads for 1.8.8 spigot

fading drift
#

nvm just spigot api

#

whats the best way to go about item cooldowns for 1.8.8

lost matrix
#

nms and add NBTTags on ItemStacks, then do the same you would with modern spigot versions and PDCs

young knoll
#

Same way as now tbh

#

?cooldowns

undone axleBOT
echo basalt
#

yo smile wanna see something cute I just faced

lost matrix
#

If you send an image of your mirror im banning you

echo basalt
#

client's server is having awful TPS drops due to Inventory#getHolder spam

#

this is the first plugin I see

lost matrix
#

That is indeed cute

echo basalt
#

mfnalex made this

slender elbow
echo basalt
#

it hogs 40% mspt

lost matrix
#

getClass().getHolder().toLowerCase() is actually wild

echo basalt
#

method fires on every inventory open, close and click

lost matrix
#

Wait, i just saw how often the call getHolder() o.O

#

If you simply cache it at the beginning you already 10x your performance

echo basalt
#

A few other notable plugins that hog performance due to inventoryholder:

  • HDB
  • Worldguard
  • Coreprotect my beloved
  • Invedit
  • dupeprotect
  • tradeshop
echo basalt
#

real world improvement is closer to 13x

lost matrix
#

In newer versions the holder doesnt get cloned anymore iirc

echo basalt
#

it does I'm pretty sure

#

this comes from a 1.21.1 server

lost matrix
#

Are they running a fork?

slender elbow
#

Can't say I've had issues with WorldGuard

echo basalt
#

probably

slender elbow
#

I also can't say I've ran a server outside of a test localhost environment

echo basalt
#

but it still shows up

#

it only does it on invopen though

#

lot less bad than on click

slender elbow
#

what if i open inventories

#

like

#

REALLY quickly

lost matrix
#

WG used to scale O(N) with region count. Thats why i implemented a chunk mapped region system back then. But its quite decent now honestly.

echo basalt
#

not as bad as running an autoclicker on a barrel full of nbt

#

or having 20 people doing it

lost matrix
#

5.5% on inv open is not good

echo basalt
#

61.34 on inv close is also not good

#

wall of shame for y'all

lost matrix
#

ItemScanner, i already see the vision... removing items during playtime

slender elbow
#

"dupe protect" more like "don't give creative mode"

echo basalt
#

welp gotta run, got a driving lesson in 20 mins and haven't had lunch yet

slender elbow
#

jeff_media is a big contender here

#

hmm

lost matrix
#

Wait, let me leak something from code i have to maintain right now, brb

slender elbow
#

mm i should finish those, but also zzzz

lost matrix
river oracle
#

don't open a shulker box you'll crash the server

remote swallow
#

what happened to your guide

#

please tell me you didnt write that in the first place

lost matrix
#

It sits cozy and implemented at the modern rewrite of this mess

pseudo hazel
#

wtf am I even looking at

river oracle
#

Over at PineappleDevelopmentGroup we have the best GUI system

#

minus the best part

pseudo hazel
#

how does it even keep going

river oracle
#

@remote swallow can't wait to drop 1.20 support 🙏 it'll be so nice to beable to remove MenuScene

remote swallow
#

um

#

excuse me i havent updated yet

river oracle
#

I mean all my plugins support 1.20.4 too

remote swallow
#

yeah and im still on it

river oracle
#

I figured once 1.22 drops this christmas we could probably drop 1.20s

remote swallow
#

maybe ill update when 1.22 comes out

remote swallow
river oracle
remote swallow
#

im thinking a 1.21.15 chrismas

river oracle
#

I wonder if the creaking will be 1,22

#

or 1.21.3

#

oh yeah its snapshot wednesday I wonder what they cooked up this week

remote swallow
#

omg it is snapshot wednesday

#

@blazing ocean its snapshot wednesday

river oracle
#

no way omg right guys so crazy

remote swallow
#

will this snapshot be bad again

#

it was quite mid last week

river oracle
#

so I wouldn't be surprised if its just a RC

#

or just a bunch of bug fixes

remote swallow
#

nah i want content

#

give me some large breaking changes in experimental

blazing ocean
river oracle
remote swallow
#

nah we could

#

you saw what happened before

river oracle
#

no I didn't'

remote swallow
#

loads of new features and only displays 1.19.4 but more to come later

river oracle
#

enlighten me

#

oh I do hope they end up adding the minecart and redstone stuff

#

but I doubt that'd be soon if they did

river oracle
#

if they update redstone maybe just maybe bedrock will too 👀 imagine redstone compatibility between versions that'd be wild

remote swallow
#

wonder if they plan to make any parity additions

pseudo hazel
#

probably only disparity additions

#

the creaking will probably be pink in bedrock

young knoll
#

Bundles of Bugs

#

New update name

pseudo hazel
#

Bundles & Exploits

keen torrent
#

Is there someone fluent with hibernate? Im failing with managing my db communitation in my plugin, need some guidance

alpine urchin
#

Bug update would be cool

#

they introduce new bugs into the game

young knoll
#

Firefly :(

silent magnet
#

I dont have perms to upload log files

eternal oxide
#

verify

young knoll
#

?paste

undone axleBOT
pseudo hazel
#

where they end it all

#

and I want a java update, where they add a java block

#

because bedrock already got their block

mellow edge
#

I am VERY confused. I can give a fireball both a direction and a velocity. But what? How does velocity relate to a vector?

#

it probably sets dirX, dirY, dirZ accordingly but what if I for example set the direction to player's eye location and then the velocity to 1, 1, 0

eternal oxide
#

a Vector (velocity) tells the amplitude of each axis for movement

#

um, amplitude is the wrong word

mellow edge
#

ok so my solution was to not set the direction to the fireball and just set the velocity:
fireball.setVelocity(p.getEyeLocation().getDirection().multiply(2));

grim agate
#

Is there anyone here who is good with adding update notifications with the PostLoginEvent class for Velocity? I am trying to add functionality for update notifications on my Velocity plugin but my Maven Clean Install always returns a ton of errors.

eternal oxide
#

We do Bungee here not Velocity

grim agate
#

Gotcha. My bad. Where could I get velocity help then? And why do you guys not help with Velocity, even though there are a ton of velocity plugins on SpigotMC?

eternal oxide
#

There ae no Velocity plugins on SpigotMC

#

There are Bungee plugins which also run on Velocity

remote swallow
#

there isnt any velocity exclusives on spigot but there is velocity plugins on there

#

you just have a module per type

grim agate
#

Thanks for that information. I appreciate it.

magic beacon
#

ik this technically isnt coding.. but is anyone a texture pack dev? i need someone to make a texture pack with custom model data to it

pseudo hazel
#

this should be all the info you need to add some custom models into a resource pack

slender elbow
#

haven't heard "texture pack" since 1.5 👵

mellow edge
plucky elm
#

anyone know how to hide a player from another players view, without hiding him from the tablist, I have already tried several ways, but I don't understand much about packets.

nova notch
#

hell even chatgpt could do it

cedar flume
cedar flume
#

Darn

nova notch
#

yes... I'm guessing you didn't even bother to do that

magic beacon
#

Uhm bro ima be completely honest I have been doing so much shi for the thing I’m trying to do I probably just forgot about it

#

I have had to do so much coding and I just started for the plugin and other stuff for the server loo

#

*lol

magic beacon
nova notch
#

the thing is you've asked 3 times about it now when there's literally a tutorial

sly topaz
#

this kind of conversation is not going to go anywhere

magic beacon
#

Fr

sly topaz
#

if they didn't understand with that tutorial, they won't magically understand now. If you feel frustrated by that then just don't answer to their question

nova notch
#

they are asking someone to make it

sly topaz
#

I mean, they're allowed to, if someone wants to do it then all good

#

they probably won't find anyone without offering payment but that is not to dismiss the request

magic beacon
#

Nah ima pay them I didn’t know I was aloud to say that here tho

nova notch
sly topaz
#

technically it would be better in the forums, but I think it is fine here too?

static quiver
#

Guys i need to create a silent chest, a kind of chest that when u open it, the animation and the sound don't appear

magic beacon
pseudo hazel
#

if you want someone to make something for you, its for the forums

#

?services

undone axleBOT
nova notch
static quiver
pseudo hazel
#

how to do what

pseudo hazel
#

make a post?

sly topaz
sly topaz
#

then the Lidded block state has open and close methods

nova notch
#

I'm trying to give you advice for your own benefit 🤷‍♂️

#

You too man

magic beacon
sly topaz
#

I mean, requesting a service is just as fine. I personally wouldn't wanna deal with making textures at all, it requires some creative skills besides the technical knowledge and that isn't readily obtainable

nova notch
#

Nah that I get, I mean the custom model data part

#

Which is really just copy pasting some json files

magic beacon
#

Yea we already have the textures for them we just need to import them in since there technically not there own item

echo basalt
#

@blazing ocean

blazing ocean
#

holy shit

peak depot
#

this the real shit

echo basalt
blazing ocean
#

yes

echo basalt
blazing ocean
echo basalt
peak depot
echo basalt
pseudo hazel
#

why have everything on there wth

#

whats the black thing, why would one that accepts the same shape as what put int it

echo basalt
#

9v to usb

pseudo hazel
#

new charger

peak depot
#

OMG I HATE YOU ALL

#

I HAD THE WRONG MONGODB STRING

blazing ocean
echo basalt
peak depot
#

when vape to water hose?

nova notch
#

did I walk into the wrong discord channel

peak depot
#

nah its dev

echo basalt
#

oh shit

peak depot
#

we just young and dumb

nova notch
#

nah my bad chat I ain't know this was the cable club

mellow edge
#

ok, so if I spawn a fireball it immidiently moves in a direction... Ok, no problem, lets set its velocity to vector 0 0 0, still moving... Ok, lets set its direction to 0 0 0, well of course that would work but the velocity is still there, so when I RESET the direction to something else, again it starts moving even though the velocity is simply 0. I am VERY confused. Code:

Location eyeLoc = p.getEyeLocation();
        Fireball fireball = p.getWorld().spawn(eyeLoc, Fireball.class);
        fireball.setVelocity(new Vector(0, 0, 0)); //DOESN'T STOP THE FIREBALL
        fireball.setDirection(new Vector(0, 0, 0));

so how the hell should I stop the fireball the correct way?

dawn flower
#

Just don't give it a direction or velocity

#

It shouldn't move

worldly ingot
#

Yeah fireballs generally suck when it comes to moving them, but if you don't invoke setVelocity() or setDirection() at all, it shouldn't move anymore

mellow edge
#

ffor some reason just spawning it still moves in the direction specified by the yaw and pitch of the location

eternal oxide
#

Why are you wanting to spawn a stationary fireball?

mellow edge
#

yes

chrome beacon
#

Set the velocity before spawning them

#

by using the consumer

eternal oxide
#

why do you want to spawn it?

mellow edge
#

I want to shoot it from the player's eye location, but just using Player#launchProjectile behind the scenes spigot code will use gaussian algorithm to slightly shift the direction. So I just want to spawn it any give myself the velocity and everything but for now I can't even stop it

eternal oxide
#

then as Olivo said, do it in the consumer of spawn

mellow edge
#

why wouldn't post spawn setVelocity call work

eternal oxide
#

fireballs are a pain when messing with velocity/direction

mellow edge
#

ok

river oracle
#

You should always use the consumer anyways

#

It's just worth building the good habit regardless

eternal oxide
#

additionally zero acceleration

river oracle
#

Best to do your stuff before it even enters the world

eternal oxide
#

as a fireball has acceleration not velocity

river oracle
#

Just take the derivative of it's velocity 🤓

river oracle
#

I wonder why it has acceleration and not velocity

glossy laurel
#

Is it considered a bad practice when two objects are dependent on one another to hold independent pointers to one another on both objects

#

did anyone understand what I just said?

river oracle
mellow edge
#

did you mean: `

        Fireball fireball = e.getPlayer().getWorld().spawn(e.getPlayer().getEyeLocation(), Fireball.class, since_when_is_this_a_thing-> {
            since_when_is_this_a_thing.setVelocity(new Vector(0, 0, 0));
        });

glossy laurel
#

in my case

#

there are players

#

and there are parties

#

and I store what party a player is in on each player, and I store on every party what players are in it

#

and you need to initialize both pointers independently (and clear them independently when a player leaves a party and stuff like that)

#

So im just wondering if this need to remove something that essentially does the same thing in 2 places

#

is considered bad

glossy laurel
upper hazel
#

what the event need for

#

do some process after loading all plugins in server

quaint mantle
#

is DamageModifier being removed? in 2016 there was a post about it but it's still around....

#

i dont know any alternative for using it

blazing robin
#

Hello guys, I'm trying to send plugin message to another server, like, guild -> lobby

I tried like this :

  protected void send(@NotNull Message message, @NotNull OnlineUser sender) {
        final ByteArrayDataOutput messageWriter = ByteStreams.newDataOutput();
        messageWriter.writeUTF("Forward");
        messageWriter.writeUTF("ALL");
        messageWriter.writeUTF("lobby");

        // Write the plugin message
        try (final ByteArrayOutputStream messageByteStream = new ByteArrayOutputStream()) {
            try (DataOutputStream messageDataStream = new DataOutputStream(messageByteStream)) {
                messageDataStream.writeUTF(plugin.getGson().toJson(message));
                messageWriter.writeShort(messageByteStream.toByteArray().length);
                messageWriter.write(messageByteStream.toByteArray());
            }
        } catch (IOException e) {
            plugin.getServer().getLogger().info("Exception dispatching plugin message");
            return;
        }

        sender.sendPluginMessage(BUNGEE_CHANNEL_ID, messageWriter.toByteArray());
    }
    public final void onReceive(@NotNull String channel, @NotNull OnlineUser user, byte[] message) {
        if (!channel.equals(BUNGEE_CHANNEL_ID)) {
            return;
        }

        final ByteArrayDataInput inputStream = ByteStreams.newDataInput(message);


        short messageLength = inputStream.readShort();
        byte[] messageBody = new byte[messageLength];
        inputStream.readFully(messageBody);


        try (final DataInputStream messageReader = new DataInputStream(new ByteArrayInputStream(messageBody))) {
            Message newMessage = plugin.getMessageFromJson(messageReader.readUTF());

        } catch (IOException e) {
        }
    }
#

but onRecieved not work at all
how can I send data to another server?

PS I already register out going, and incoming (THe Channel name is BungeeCord)

young knoll
#

Is tthere a player on the target server

wary harness
#

I recommend doing it yourself with sockets

#

so you don't depend on player connection

dawn flower
#

How do sponge mixins work? And would it be able to somehow do it in a spigot plugin

chrome beacon
#

No

#

Spigot plugins load too late for it to work

#

You can bootstrap Mixins and then launch the server

dawn flower
#

Well how do they work though

chrome beacon
#

They use classloaders to modify the bytecode of loaded classes

dawn flower
#

Ok

#

Would it be possible if I fork spigot

remote swallow
#

sure

#

you just have to rewrite basically the entire plugin loading

chrome beacon
#

You can just use Ignite

sly topaz
young knoll
#

Ignite uses separate plugins

deep herald
#

how do i make a door open?

#

i cant do event.getClickedBlock.setOpen(true);

young knoll
#

It’s part of the blocks data

#

See Block#getBlockData and Block#setBlockData

deep herald
#

alr thx

river oracle
#

otherwise its not necessary

remote swallow
slender elbow
#

Poor Floyd

river oracle
#

I love writing code that works the first try

young knoll
#

Same

#

Shame it never happens

river oracle
#

the fact it involved CompletableFutures and running code multi-threaded is why I'm so stunned

#

I'm so used to multi threaded code blowing up that I'm surprised it works even if its simple

young knoll
#

Lies

river oracle
#

truths

#

its just a really simple chunk search lol

young knoll
#

Okay JerryTheCarry

river oracle
slender elbow
#

Jery*

river oracle
#

fr doesn't even have the respect to spell it right

young knoll
#

JarieTheCarie

worthy yarrow
#

Math is annoying

river oracle
#

Is there any decent way to randomly visit all points within a 3d region randomly, but assure their are no repeats without keeping a list of every coordinate that needs to be visited?

#

e.g. if I want to randomly check coordinates with the region (0, 0, 0) to (200, 100, 200)

carmine mica
#

well what do you mean by "keeping a list"

#

if you mean literally keeping a List<Location>, then yes, but if you mean any form of tracking already visited spots, no

river oracle
carmine mica
#

its not random if you can't go back to the same spot, probably by some definition

river oracle
#

the issue is I'm checking for spawn locations for something within a region and collecting them for later. Right now I do scans chunk by chunk asynchronously by grabbing a chunk snapshot on the main thread and over time scanning every block in the chunk that is within the region their is a possible spawn in. The issue I found is I don't want to generate EVERY spawn point, but I want the spawn points to be dispersed randomly

carmine mica
#

yeah, you could randomly shuffle a list of all possible spots, but that violates one of your constraints

river oracle
carmine mica
#

well this list doesn't have to be kept in memory

river oracle
# carmine mica well this list doesn't have to be kept in memory

how else would I keep it. I mean ideally I wouldn't want to immediately flush it to the disc IO read writes would slow. Especially if I want to retrieve them like 5 or so minutes after the scan. The man idea would I would scan for spawn locations 2 minutes or so prior to the event. I'd end up only storing in reality 20 or 30 spawn locations in the final output, but I want to get those 20 or 30 spawn locations as randomly as possible

#

previously I just scanned over chunks from 0-16 on x z and between my y constraints, but this provided a much to predictable spot for locations especially after culling down to the 20 or 30 results

sly topaz
#

search up morton order, or space-filling curve

#

it's kinda annoying to encode with custom Y-values tbh

#

you can optimize out the list if you ignore air too, ig

river oracle
sly topaz
#

looping through some locations shouldn't be expensive, besides I assume you aren't going to do this more than once considering the scale

river oracle
#

it'll be done more than once, but only every few hours realistically

sly topaz
#

more so since if encoded, a good chunk (no pun intended) would be in the cache

river oracle
#

it'll be also done on another thread and 5 minutse prior to the event occurring

sly topaz
#

you either optimize for memory usage or for overall algorithm efficiency

river oracle
#

I'm mostly worried about memory usage vs algo efficency

#

because the algo can fair to lag a bit since its on another thread

sly topaz
#

it can cause noisy neighbor issues at worst

river oracle
#

considering I'll have 2-5 minutes to do the processing I feel fairly confident about being able to process it in time

sly topaz
#

the process shouldn't take more than a few seconds

river oracle
#

I'm just concerned about storing that many valid locations in a list given lax spawn rules

sly topaz
#

if you encode them in a long with something like morton, it should be fairly efficient

#

given that you can also ignore a good part of the chunk (as you wouldn't logically spawn anything above the highest building block, maybe the height map can help with that)

river oracle
#

so that's not an issue

sly topaz
#

I also assume that this is naturally generated terrain and not player-created

river oracle
sly topaz
#

if it is player-created then there's a whole other lot of issues considering the massive build height, but as long as you can clamp the Y-axis to an extent it should be fine

river oracle
#

Its configurable so the server owner can decide which are valid spawn blocks y clamps to stop envoys from spawning out of bounds etc

#

so unless the owner was a literal dumbass, which is definitely possible I'm not too worried

sly topaz
#

at the very worst, it'd be ~200MB per chunk

#

but then again, you'd discard the chunk once you've already gone through it, and a self-avoiding space-filling curve would make sure of that

river oracle
#

hmmm maybe I just go YOLO then

#

cuz I doubt it'd even ever be close to that high

sly topaz
#

do ping me whenever you accidentally cause a OOM and crash the server

river oracle
#

its probably better than some other public plugins xD

sly topaz
#

I mean, if you are worrying about this kind of thing, it should be good, you are aware of the scale so all-else is just apply the most tricks so that it becomes space-efficient enough for it to not be an issue

#

the more space-efficient, the faster it can be done as well, given reasonable compression algorithms

river oracle
#

which would take up less area

sly topaz
#

hopefully the HAT people get done with it soon so we can abuse the hell out of gpu for this kind of number-crunching

magic beacon
#

yo ik i have asked plenty of times and i have gotten anwsers! but now its to the point that it still doesnt work lol can someone VC and help us XD

deep herald
#

can you get the protocol version in AsyncPlayerPreLoginEvent?

river oracle
#

you can get it anywhere at any time for any reason

#

you can even get the protocol version in your Hyper Multi Threaded program

#

you could get the protocol version if you were on the ISS sending all of your server data byte by byte to your computer remotely

#

Hell you can get the data version without even starting spigot!

river oracle
worldly ingot
#

If you're running ViaVersion, you can use ViaVersion's API to get the player's protocol version

slender elbow
#

"but in my custom fork ..."

worldly ingot
#

Via.getAPI().getPlayerProtocolVersion(player);

blazing robin
#

is there any way to send a data to another server without velocity?

orchid gazelle
blazing robin
echo basalt
#

I wonder if you can fake a player connection or socket for that

blazing robin
#

hmm got it thank you guys

orchid gazelle
orchid gazelle
blazing robin
orchid gazelle
blazing robin
fading drift
#

anyone know what I can use to replicate fake players and right clicking them to open gui

agile anvil
#

What do you mean by replicate fake players?

fading drift
#

like for example hypixel when you right click the bedwars player itll open an inventory gui

#

but its not a real player but it looks as such

agile anvil
#

Oh, spawning an NPC. You have multiple ways, harder or easier

#

If you are quite new to this you can use Citizens api. It got you covered for spawn, interactions etc

#

Otherwise you can use packet wise actions to handle that

fading drift
#

how can I learn what packets I need to send

agile anvil
#

You can use the minecraft protocol wiki.vg to find all the packets information

#

You also have a bunch of tutorials/forum posts online for that

fading drift
#

do you have one on hand?

grim hound
#

Does anyone have a tutorial for efficient index search that does not require to iterate through all messages (like the search discord does in phrase search)?

agile anvil
grim hound
agile anvil
#

Just be sure to check your version

grim hound
#

Does npc spawn as an example I think

agile anvil
grim hound
#

Any length pretty much

#

And you can search for a word or a phrase

agile anvil
#

You have many ways of doing it. But the more documents you will have will make it the harder to create.
I recommend using existing libraries for that: they are efficient, and cover everything for you

agile anvil
#

For instance I can think of Apache Lucene

grim hound
#

I just want to learn how it's done

agile anvil
#

Mmmh. In that case I recommend you to read about Trie, Information Retrieval, Ranking algos (BM25, ...), Vector Search and Embeddings, Inverted Index

glossy laurel
quaint mantle
#

Yes

echo basalt
#

elasticsearch?

agile anvil
#

they want to understand the actual implementation of those search engines rather than using one

magic beacon
#

we have finally done it!! but now mc packs is saying Missing mcmeta data: Invalid resource pack.

#

what do we do now i cant find any tutrorials on this one

rough ibex
#

you need a mcmeta

#

what are you doing

magic beacon
#

and im trying to get the key or whatever it is so i can fource the resaurce pack on the server

remote swallow
#

When creating the zip did you zip the folder or the contents. Bc the pack needs to have its content in the zip directly not in another folder

#

Uh oh blue

magic beacon
drowsy helm
#

I ran into the same issue ages ago trying to generate packs, only some zipping libraries zip the contents properly

remote swallow
#

I normally boost the server and my nitro has expired

magic beacon
#

ive asked so many ppl ;cry;

#

we have been doing this for like 6 hours now

magic beacon
#

i think..

#

he just gave me the download

#

and ti auto zipped it

remote swallow
#

Your pack should look like this when zipped
MyPack.zip:
assets/
pack.mcmeta

#

I'm guessing it's a zipped folder

magic beacon
#

can i dm you the pic o fit??

#

*of

drowsy helm
#

?img

undone axleBOT
#

Can't send images? That's because you're not verified! Use !verify to complete verification.
Alternatively, you can upload screenshots to any image hosting site and share the link.

Here's some screenshot utilities that you can use to upload images.
Lightshot: https://prnt.sc
Imgur: https://imgur.com/upload
Flameshot: https://flameshot.org

magic beacon
rough ibex
#

is the mcmeta valid JSON

remote swallow
#

That looks like a zipped folder

shadow night
#

Yep absolutely

magic beacon
remote swallow
#

If your on windows open the pack folder, select the content being assets pack and icon then press share and zip

shadow night
magic beacon
#

just the assets?

#

or everything

shadow night
#

you have to archive everything

#

It just has to be the same as your current archive, but instead of being in a subdirectory, it has to be in the root directory

magic beacon
#

so i just highlight the assets, pack.mcmeta and pack.png and right click and press add files to archive

magic beacon
magic beacon
#

and it says add files ot add? do i just say cancel?

shadow night
#

what

magic beacon
#

it popped up a diff menu and it says select files to add and has alll my files

#

i can press ok

#

or cancel

shadow night
#

then press ok

magic beacon
#

ok what now i dont wanna get it wrong again XD

shadow night
#

ok yeah now I'm confused on what you are doing

#

are you, like, rearchiving the files from the archive?

magic beacon
#

ima be honest idk i just right clicked like i said and then pressed the add items to archive

#

i went in the files

#

*file

remote swallow
#

You need to select then in windows not winrar

magic beacon
#

ok

#

i did

#

but wheres the archive button

remote swallow
#

Do you have the top bar open

#

If yes press share then zip

#

If not on the right press the down arrow then do those steps

magic beacon
#

looks like the share button doesnt like highlight

remote swallow
#

you dont have the files selected

magic beacon
#

am i doing it wrong or smthin lol

remote swallow
#

press the 3 dots

#

i was expecting win10 lol

magic beacon
#

oh

shadow night
magic beacon
#

Ok what do i press now

#

nvm

remote swallow
magic beacon
#

but it just auto zips it to winrar

shadow night
magic beacon
#

or was i not supposed to zip it

pseudo hazel
#

auto zips to winrar?

magic beacon
#

ye

pseudo hazel
#

so .rar?

magic beacon
#

like it just auto makes a winrar zip folder

shadow night
#

that's just called a zip

remote swallow
#

if you wanna zip with winrar, select them, right click open the more options panel hover over winrar press add to archive then change the extension to zip

drowsy helm
#

winrar is just the application to view a zip

magic beacon
#

oh ok

#

then nvm im good

pseudo hazel
#

all you should care about is that the file extension is .zip

magic beacon
#

YES T WORKED

#

THANK YOU

#

you have no idea how much yall helped me 😭

ruby sky
pseudo hazel
#

looks like a click event..

#

but like, moving the item is a drag event

#

so it would be both

lost matrix
pseudo hazel
#

ah

#

something new I learned today too then

upper hazel
#

Who was working with reflection lib? You was have bugs?

lilac dagger
#

uh?

#

which bugs?

#

also, you don't really need a reflection lib, unless you mean the reflect package under java

echo basalt
lilac dagger
#

i fixed it, but it took a while

quaint mantle
#

mojang can be add block nbt like items?

blazing ocean
#

what

quaint mantle
#

in this way, blocks can be given different properties, etc. we can give it that would be great

#

i mean feature like nbt

#

can someone recommend this to mojang?

blazing ocean
#

keep in mind that mojang will probably not give a single fuck

quaint mantle
#

thats right xd

eternal oxide
#

generic blocks being able to have custom attributes like nbt would be a terrible thing

quaint mantle
#

why

eternal oxide
#

so much processing overhead

#

Suddenly every block in a chunk can have nbt data

quaint mantle
#

i don't know but thanks to this we could bring new blocks to the game without mods

#

btw

#

i mean nbt tag

eternal oxide
#

you only need 1 block to do that

quaint mantle
#

wdym for that

eternal oxide
#

if they added a single custom block whick was keyed

#

it could be used to represent any number of custom blocks

quaint mantle
#

ah yes

#

but why items have a custom nbt tag?

eternal oxide
#

what?

#

items have custom model data

quaint mantle
#

all items have nbt tag

#

ah

#

what

#

wait

#

was i talking about something different all along?

eternal oxide
#

yes, but they do not exist in the world in numbers of 65535 per chunk

quaint mantle
#

forget what i said

eternal oxide
#

ok 🙂

quaint mantle
#

if there was custom model data in the blocks

#

i mean this

#

not nbt

eternal oxide
#

not on each block but yes to a custom one

quaint mantle
#

if this happens, i hope the game will make new blocks easier.

eternal oxide
#

Items have much meta as they are not really represented in the world, only to each player in an inventory. You can see custom model data if dropped but the number of occurances is miniscule

#

if every block in the world could have custom model data it would result in a massive processing overhead

shadow night
#

What about custom model data for entities

quaint mantle
#

even if it is only 1 block, it is enough and this block does not even need to be in the world.

quaint mantle
eternal oxide
#

I'd like both

#

custom model data for an entity could require a lot of streamed data

#

But peopel have been asking for a long time for custom blocks

#

One custom block thats keyed would be enough.

#

I'd even like streamed texture data rather than the current resource packs

#

So plugins would contain their own texture data easily

upper hazel
#

does anyone have a utility that translates color from text(hex, classic) through adventure api? If you have it, can you give it to me?

#

oh wait

#

btw here not only spigot users 🙂

river oracle
#

You could make a parsing tool to parse most legacy signs into minimessage, but I would just use minimessage if you're going to use minimessage

smoky anchor
#

I will attempt to eat a sock if they add one "custom" block

eternal night
#

I mean, they are on track as fuck for custom items already

quaint mantle
#

can i cange player's health bar to hardcore health bar in game? with any method

worldly ingot
#

You'd have to spoof to the player that the world is in hardcore mode

#

That value is only part of the login packet though, which is just sent once on login. You'd have to listen for that outgoing packet and change the value. I don't know what the client will do if you re-send the packet after they've logged in and received it once already

river oracle
#

or ya could use a texturepack if you want it for everyone

quaint mantle
#

aight guys ty

cedar flume
worldly ingot
#

Yeah, which does exactly what I said :p

#

Which actually is written by Cerus, I'm realizing, who is also on Hypixel with me PajamaDance

remote swallow
#

i remember when cerus would be here sometimes

worldly ingot
#

He's too cool for you guys now

slender elbow
#

ohhh that's why you're here

eternal night
lilac dagger
#

i'm pretty good at making minigames too

worldly ingot
lilac dagger
#

lol

glossy laurel
#

Is there any event fired when a command block executes

lilac dagger
#

yeah

stuck oar
#

for (Player player : PortalEnterListener.playersInArena) {

anyone know why im getting a null error in this? the code still runs though

eternal night
eternal night
stuck oar
#

but its not

#

because the code still runs perfectly

lilac dagger
#

ah nevermind, there's no event for that

eternal night
#

what does "getting a null error" mean then

#

?paste

undone axleBOT
eternal night
#

paste the error^

slender elbow
#

[info] null eror

stuck oar
eternal night
#

fair, did not think of that

eternal night
#

presumably you are removing from that list while iterating

stuck oar
#

idk

#

im removing them while in the for loop ye

#

im guessing thats the problem

eternal night
#

Yea

stuck oar
#

alr thanks

eternal night
#

The exception you were looking for btw was caused by: java.util.ConcurrentModificationException

#

In case you run into this again

#

org.bukkit.event.EventException: null just means, an event handler thew an exception. The actual reason is in the cause stack

stuck oar
#

will i still get this error if i like remove them using a function

#

im guessing so

eternal night
#

what does "using a function" mean

stuck oar
#
        PortalEnterListener.playersInArena.remove(p);
    }```
eternal night
#

I mean, yea, just callign a function that then removes it does not change a thing

#

have a look at removeIf

stuck oar
#

is there no way i can just like tell the error to shut up

#

ccause the code still works

eternal night
#

no

#

just fix your code

#

Use removeIf

young knoll
#

What about iterators :(

eternal night
#

iterate yourself back to java 8

lusty raft
#

Thoughts or not worth it?

#

Works with any custom object and stores into configs with ease

blazing ocean
eternal night
#

I mean, terrible people would say, configurate can do that too

#

Tho I guess it is a nice utility for the bukkit yaml api

lusty raft
#

Does setItemStack in config set nbt tags?

eternal night
#

heh

lusty raft
#

Haven't checked but my one does

young knoll
#

It should save everything

#

But it may just dump some of it as SNBT

eternal night
#

and potentially break your items on version upgrades

young knoll
#

I’ll break you on version upgrade