#help-development

1 messages · Page 1033 of 1

pseudo hazel
#

it says its redundant

graceful patrol
#

could someone please help me with updating a 1.8.8 plugin to 1.20.1?

robust ginkgo
#

Is it just some type tomfoolery?

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!

pseudo hazel
graceful patrol
graceful patrol
pseudo hazel
#

use getOrDefault to not have that issue

robust ginkgo
smoky anchor
robust ginkgo
#

oh so just fuck around and find out then?

glad prawn
#

yes

echo nacelle
#

Anyone get crash with spigot 1.21?

pseudo hazel
#

but usually getOrDefault with an empty string is way less error prone

graceful patrol
robust ginkgo
pseudo hazel
#

yeah

robust ginkgo
#

oh

dark moth
smoky anchor
dark moth
#

its not the answer

pseudo hazel
#

pdc.getOrDefault

graceful patrol
#

its an old plugin, like 4 years, i didnt touch it since, so ye lmfao

dark moth
#

guys give me a good version to code a plugin with npc nms stuff

pseudo hazel
#

wdym

dark moth
#

nvmm

smoky anchor
#

someone else pls help them

graceful patrol
#

someone help? trying to update a 1.8.8 plugin to 1.20.1, built spigot-1.20.1 with BT, put it in libs, edited build.gradle, it does not know what "minecraft", and "bukkit" is

https://ctrlv.cz/Aa4j

pseudo hazel
#

idk

#

if its a small plugin I would move it to a sane build system like maven or wait until someone with gradle knowledge is here

graceful patrol
pseudo hazel
#

how kinda big

graceful patrol
#

84mb

pseudo hazel
#

like 10+ dependencies?

#

jeez

graceful patrol
pseudo hazel
#

sounds like you compiled everything with it

graceful patrol
#

ye

ivory sleet
#

I mean if u just wanna bump the version its basically just changing the version of the spigot/spigot-api dependency

#

which might require you to run buildtools as steve said

graceful patrol
#

well, ye, thats easy, but it for some reason does not know what minecraft and bukkit is, even tho the spigot is in my lib

graceful patrol
ivory sleet
#

U got a build.gradle script?

graceful patrol
#

yep

ivory sleet
#

Show us

graceful patrol
#

`plugins {
id 'java'
}

group = 'me.panfri'
version = '2.1'

repositories {
mavenCentral()
maven {
name 'jitpack-repo'
url 'https://jitpack.io'
}
}

dependencies {
compileOnly files('libs/spigot-1.20.1.jar')
implementation files('libs/1_SpectatorPlus.jar')
implementation files('libs/MapVoting.jar')
compileOnly 'net.luckperms:api:5.4'
implementation files('libs/messagestranslator-api.jar')
implementation files('libs/mysql-api.jar')
implementation files('libs/ServerReload.jar')
implementation files('libs/EcoStats-1.0-SNAPSHOT.jar')

compileOnly (group: 'com.github.Realizedd', name: 'TokenManager', version: '3.2.4') {
    transitive = false
}

}`

ivory sleet
#

Oh wtf

graceful patrol
ivory sleet
#

Any reason why u downloaded all of them locally?

graceful patrol
#

they are custom

#

like 90% of them

graceful patrol
ivory sleet
#

I mean my primary guess would be that it can’t find the jar

graceful patrol
#

why tho

ivory sleet
#

Idk

#

I mean I have never added local file deps like that

#

I usually add a directory as a local repository (altho that was still like 2 years ago)

#

But it should work to just add a filecollection

graceful patrol
#

broo, thats so annoying tho, why tf does it just not work

ivory sleet
#

What u can try to do is to just invalidate local caches

graceful patrol
ivory sleet
#

Presuming u use an ide that has such a feature

ivory sleet
graceful patrol
ivory sleet
#

sometimes those caches get corrupted

ivory sleet
graceful patrol
ivory sleet
#

Ugh yuck

graceful patrol
#

like bruuuh

#

idk what to do, im just fucked or idk

quaint mantle
graceful patrol
robust ginkgo
#

Can you set a max storage size for a PDC or do you have to handle this manually?

#

oh wait itemstacks aren't primitive

#

nevermind, I guess I have to do it myself

tender shard
robust ginkgo
#

oh

rose lava
#

how to download spigot 1.21 jar

tender shard
rose lava
#

pls help me

undone axleBOT
robust ginkgo
#

I'm glad your libraries exist

rose lava
#

anyone pls give me direct jar file

tender shard
#

Download buildtools and double click it

rose lava
#

i want to add in server not local

graceful patrol
tender shard
tender shard
robust ginkgo
tender shard
#

I will upload it there later today

robust ginkgo
graceful patrol
#

💀

tender shard
graceful patrol
#

if it was because of that, i will go kms

tender shard
#

Btw why did you add those files with path and not through mavenLocal() ?

graceful patrol
#

idk tbh, it was made like 4 years ago

ivory sleet
tender shard
#
repositories {
  // ...
  mavenLocal()
}

dependencies {
  compileOnly("org.spigotmc:spigot:1.21-R0.1-SNAPSHOT")
}

this is the usual way for obfuscated spigot .jar

tender shard
ivory sleet
#

oh yea but this guy has like 10 dependencies all in his local libs folder

graceful patrol
#

even restarted + cleared cache

tender shard
#

does gradle not detect the classes, or only IntelliJ?

#

File -> Project Structure-> Project-> SDK -> 21

graceful patrol
#

already did

tender shard
#

the issue is that you added the spigot .jar which is a bootstrap .jar and doesnt directly contain the classes

tender shard
#

?bootstrap

undone axleBOT
#

Bootstrap Jar
The main spigot-1.18.jar is now a bootstrap jar which contains all libraries. You cannot directly depend on this jar. You should depend on Spigot/Spigot-API/target/spigot-api-1.18-R0.1-SNAPSHOT-shaded.jar, or the entire contents of the bundler directory from your server, or use a dependency manager such as Maven or Gradle to handle this automatically.

Please read the release notes for further information: https://www.spigotmc.org/threads/9-years-of-spigotmc-spigot-bungeecord-1-18-1-18-1-release.534760/#post-4305163

tender shard
#

alternatively, do it like this ^

pseudo hazel
#

but mc 1.20.1 is java 17?

tender shard
#

oh I thought it was about 1.21

#

anyway, the issue is that they're depending on the regular spigot.jar

graceful patrol
#

why tho

graceful patrol
#

so i need also spigot api?

tender shard
#

do you use NMS?

graceful patrol
#

no

tender shard
#

if no:

repositories {
  maven("https://hub.spigotmc.org/nexus/content/repositories/snapshots/")
  maven("https://oss.sonatype.org/content/repositories/snapshots")
  maven("https://oss.sonatype.org/content/repositories/central")
}

dependencies {
  compileOnly("org.spigotmc:spigot-api:1.20.2-R0.1-SNAPSHOT")
}
#

that's all you need for spigot

graceful patrol
#

maven' in 'org.gradle.api.artifacts.dsl.RepositoryHandler' cannot be applied to '(java.lang.String)

graceful patrol
#

i dont think i used groovy here

tender shard
#
repositories {
  maven { url = 'https://hub.spigotmc.org/nexus/content/repositories/snapshots/' }
  maven { url = 'https://oss.sonatype.org/content/repositories/snapshots' }
  maven { url = 'https://oss.sonatype.org/content/repositories/central' }
}

dependencies {
  compileOnly 'org.spigotmc:spigot-api:1.20.2-R0.1-SNAPSHOT'
}
tender shard
graceful patrol
#

build.gradle

tender shard
#

then you're using groovy

tender shard
#

build.gradle = groovy
build.gradle.kts = kotlin

graceful patrol
#

OMG

#

YOU ARE A LIFESAVER

#

THANK YOU SO MUCH

#

it finally works

tender shard
#

np 🙂

graceful patrol
tender shard
#

yes, minecraft classes are part of NMS

#

for that, you need the actual spigot dependency, not spigot-api.

#

the gradle part is written for kotlin. In groovy, it should look sth like this:

plugins {
    id 'java'
    id 'io.github.patrick.remapper' version '1.4.0'
}

repositories {
    mavenCentral()
    mavenLocal()
}

dependencies {
    compileOnly 'org.spigotmc:spigot:1.20.4-R0.1-SNAPSHOT:remapped-mojang'
}

java {
    toolchain {
        languageVersion.set(JavaLanguageVersion.of(17)) // Spigot 1.18+ requires Java 17+
    }
}

tasks.remap {
    version.set('1.20.4')
}

tasks.build {
    dependsOn tasks.remap
}

And don't forget: You need to run buildtools beforehand: java -jar BuildTools.jar --rev 1.20.4 --remapped (change to 1.20.1 here, and in the above build.gradle file)

graceful patrol
#

oh okay

young knoll
#

For gradle?

shadow night
#

Ye

graceful patrol
young knoll
#

Interesting

tender shard
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.

young knoll
#

I’ve been looking for a good gradle one, the Patrick one has been giving me some issues

graceful patrol
tender shard
#

show the whole class

#

?paste

undone axleBOT
shadow night
#

But my remapper isn't "just" for spigot, it's also for #1243264378522959914 because of the way it works

#

But it does do mojmap -> spigot

kindred sentinel
#

I need tutorial how to change players skin for 1.20.1

young knoll
#

But is it public

shadow night
#

yes

graceful patrol
upper hazel
#

io.lumine.xikage.mythicmobs.io.MythicLineConfig

#

in new verison api argument string not exists in this method

robust ginkgo
#

Can you add custom armor trims with plugins or is that only possible with datapacks?

eternal night
#

datapacks

young knoll
#

I mean, you can with plugins

#

It’s just not pretty

eternal night
young knoll
#

Userdev isn’t ready yet

eternal night
#

True Sadge

#

paper too slow

young knoll
#

Smh it’s been over 12 hours

eternal night
#

I think we have like, 40 patches left tho?

young knoll
#

People are gonna give me all the one star reviews

robust ginkgo
#

How does one access a datapack trim pattern?

young knoll
#

Even though I haven’t released anything with NMS yet

kindred sentinel
#
  1. How to use nms cross version
  2. How to change player's skin? Please help🙏
eternal night
robust ginkgo
shadow night
young knoll
#

Registry.TRIM_PATTERN

young knoll
#

Then you can get by namespaced key

tender shard
robust ginkgo
#

alright, that's great!

agile anvil
kindred sentinel
agile anvil
#

So why would you need multiple versions ?

#

And change player skin for the player itself? Or for the others (like a disguise) ?

dark moth
#

guys how do i implement the nms

#

with maven

kindred sentinel
young knoll
dark moth
agile anvil
#
  • Changing the skin for the player itself is some really hard mechanics, at least it used to be
dark moth
#

build tools cant compile

pseudo hazel
#

do you have git

dark moth
#

no

kindred sentinel
pseudo hazel
#

nvm

dark moth
#

ohh

pseudo hazel
#

it says to use its own git

dark moth
#

wha

#

ayo

#

?

#

ik i dont have it bruh

#

nevermind

pseudo hazel
#

but yeah you can try to download it

dark moth
#

i gotta do it manually then

pseudo hazel
#

maybe ots the issue

kindred sentinel
#

what protocol lib used for?

pseudo hazel
#

to send packets

#

but packet events is better

#

imo

kindred sentinel
#

It's like part of nms, or lib that can replace nms?

young knoll
#

Neither

#

It’s an api for interacting with a certain part of NMS

#

(Packets)

pseudo hazel
#

for most things it can replace what nms does

kindred sentinel
pseudo hazel
#

but i dont have lot of experience with it

#

well its certainly easier

young knoll
#

Yes

river oracle
#

I disagree with the easier part it's definitely much more involved for some things

pseudo hazel
#

I suppose

#

but generally

river oracle
#

Even like sending packets kekw

pseudo hazel
#

and you dont have the overhead of rewriting your code for every update

young knoll
#

I normally just use it for the packet listening

#

Which is fairly simple

kindred sentinel
pseudo hazel
#

I use packetevents since I can just do a sendserverpacket with their wrappers which is very easy to use

young knoll
#

Yes, a lot of people do

kindred sentinel
#

But it's not very flexible?

river oracle
pseudo hazel
#

i guess it ultimately depends on how you implement it I guess

kindred sentinel
#

Hm

twin venture
river oracle
twin venture
#

i mean for a plugin iam making that may contain 1000 users .. in the database

pseudo hazel
#

1000 databse entries?

#

thats nothing

#

or do you mean 1000 concurrent players

kindred sentinel
twin venture
#

concurrent player's xD

kindred sentinel
#

Is there any tutorial for packets?

pseudo hazel
#

idk then, depends on how they implemented it probably

twin venture
#

iam thinking about going back to programming in minecraft, any ideas for minigames i can make?

kindred sentinel
#

What they can do?

twin venture
#

i need to make something unique and new

river oracle
twin venture
#

also same answer ..

agile anvil
river oracle
kindred sentinel
river oracle
pseudo hazel
#

your best friend is the wiki xD

agile anvil
#

PacketEvents, ProtocolLib and NMS are all packet stuff. It's just how you use them

river oracle
#

Stay away from nms and packets if you aren't confident in your debugging I wouldn't go into that

agile anvil
#

protocol wiki tells you the actual meaning and how to build packets

twin venture
agile anvil
twin venture
#

but its far away from finished ..

pseudo hazel
twin venture
#

cuz i do support mongodb , sql , redis ..

pseudo hazel
#

well then why do you want even harder ideas

twin venture
#

i need ideas to make it better

pseudo hazel
#

skywars is probably the easiest and most basic minigame

twin venture
#

not easy .. 🙂

#

its pretty complex system iam working with

river oracle
#

Pretty easy

pseudo hazel
#

compared to other minigames

twin venture
#

come join verified

river oracle
kindred sentinel
#

Are packets some type of asynchroned stuff for players?

agile anvil
twin venture
agile anvil
#

The only way of them to communicate

#

When you make a plugin just with the API you are actually playing with packets, without knowing it

kindred sentinel
#

So you can change some stuff in that packets.. mhm

agile anvil
#

Spawning entity, placing blocs........

twin venture
pseudo hazel
#

your server can pretend that its something entirely different if you change what packets you send and receive

river oracle
twin venture
#

oky

pseudo hazel
river oracle
twin venture
#

iam trying to make it 1:1 like that big server

pseudo hazel
#

I guess so, im not an expert on database connections

twin venture
#

wana come give me ideas? @pseudo hazel ?

pseudo hazel
#

i cant im at work

twin venture
#

k

river oracle
pseudo hazel
#

yup

river oracle
#

I can come give you ideas but you'll need to pay me 20 an hour

pseudo hazel
#

only a few hours left until weekend though

twin venture
#

i did make a communcation system bettwen lobby , arenas servers that run

#

using redis

#

so when a server start it will send its id , server name , and other data to the lobby server plugin

#

and i can do :
/play SOLO_Normal

wet breach
#

and what does that do?

twin venture
#

so i can join arenas servers easly

agile anvil
#

Is there a queuing system?

wet breach
twin venture
#

not yet , i didn't make queuing system still in progress 🙂

twin venture
#

and it show the online player's in that server too

wet breach
#

which again bungee provides

twin venture
#

well there is a proxy plugin i use in there

wet breach
#

if you send bungee a certain plugin message it will make the player move to the server you told bungee to move them to

#

no plugin needed on bungee for this

twin venture
#

but its a bit slow no?

wet breach
#

also using plugin messaging to bungee itself it can give you the player counts connected

twin venture
#

if there for example 200 online player's at the same time?

wet breach
#

you think your plugin which gets loaded way after the proxy and server is going to be faster?

#

it could be if you just created your own tcp sockets I suppose

#

but aside from that, its just packets

twin venture
#

i see ..

river oracle
#

Ya can't beat the raw packets with your high level operations mister 😤

twin venture
#

now iam thinking about remaking Cosmetics ideas , win effect , kill effect ?

#

configurable from 1 server , i can push the update if i for example change 1 thing , it should be updated in all sub servers

#

for example i edit it in lobby server , it push the updates too games servers

#

can this be done using redis?

#

for example :
/update cosmetics

wet breach
#

probably, but ultimately it doesn't really matter what you use

#

for example, if you use MySQL it will be just as fast as using redis

#

if speed is the game and the servers are on the same machine, unix sockets

#

removes overhead of the network stack and its infinitely faster then tcp

twin venture
#

iam not making them for my own usage , thinking about make it a product and sell it maybe in 1 year time frame

wet breach
#

in 1 year it will probably be obsolete

twin venture
#

i graduated and i have nothing to do , i do have a job from 3pm afternoon till 9 pm evening

twin venture
wet breach
#

because that is just how development works when it comes to something that frequently updates like MC

#

even the players and servers change

#

in 1 year, one game is popular, next year its dead

#

if the goal is to sell plugins, then you need to reduce your ROI from 1 year, to like no greater then 3 months

#

if you want long term projects that are profitable find some network that will hire you or you can sell your services to IE commissions or something similar

twin venture
wet breach
#

you have to get lucky to have a plugin that becomes popular in a way you can just update it for a year or so

young knoll
#

Maybe @river oracle will hire you for pineapple

#

Kek

twin venture
#

xD naah

wet breach
#

I myself only have 1 plugin that became very popular and it died in less then a year

#

good news it helped spark a change in the game itself with Mojang 😉

twin venture
#

i do myself had a plugin got really known ..

#

core-SkyPvP got like 100 buyer in 2 years .. ik its really low but yeah ..

wet breach
#

HoloAPI, the first plugin to bring you Holograms via a plugin and helped make the concept so popular that mojang was forced to introduce mechanisms that would keep them around. Originally it worked with a bug with the horse entity. If you set its age to a negative value, it turned the horse invsible except its name plate, and if I recall it was upside down.

#

This is why Armorstands became a thing starting with 1.8

#

they were introduced so Holograms could continue existing and why armorstands are entities

#

but the update killed HoloAPI because it heavily relied on the horse bug

#

which is fine, holograms get to continue to be a thing 😉

shadow night
#

damn

#

what a story

wet breach
#

now we have Entity Displays and the sorts

wet breach
shadow night
#

damn

#

ages

sleek estuary
#

how i make break block animation on armorstand?

smoky anchor
sleek estuary
#

I would like to make an armorstand do the animation of breaking wheat

blazing ocean
wet breach
#

wouldn't blame you if looked at the source for it XD

blazing ocean
wet breach
#

3 devs worked on it lmao

#

DSH105, CaptainBern, and Myself uwu

#

all 3 of us are also former Dev Bukkit Staff too

river oracle
twin venture
#

anyone know how does this menu works?

blazing ocean
#

?gui

twin venture
#

i mean the concept

#

ik how to do inv

#

that's not my question

blazing ocean
#

there's not much to that gui

twin venture
wet breach
#

maybe they are interested in the lore part?

twin venture
#

concept of creating this?

blazing ocean
#

internal stuff

twin venture
#

yes ideas?

blazing ocean
#

i woulf say ask choco but he probably can't tell ya

blazing ocean
twin venture
#

<_>

blazing ocean
#

we're not hypickel devs

#

choco is

wet breach
twin venture
#

i can do the Map Selections and Times joined , but the Available Games is a bit hard to do

blazing ocean
wet breach
blazing ocean
#

yea obv

wet breach
#

they are obviously having a hard time understanding the concept of how you pull that info and stick in there and keep it updated

blazing ocean
#

i mean some of that info is likely some infra shit

#

like available games

sleek estuary
#

How do I move the armorstand arm to simulate breaking wheat?

wet breach
#

but thing is if my hunch is correct, that inventory actually doesn't exist

twin venture
#

idk how to do that one

blazing ocean
#

you need a lotta infra for that

twin venture
#

do i need redis to check the server name inside the config file and see if its already exist then add it to a list or smth?

sleek estuary
twin venture
#

or a map?

wet breach
blazing ocean
smoky anchor
sleek estuary
smoky anchor
#

arm

wet breach
#

but I suppose we should stick with the arms for now

blazing ocean
#

i prefer using custom models and item displays lol

wet breach
#

lol

blazing ocean
#

you can do so much cool shit with that

wet breach
pseudo hazel
#

someone probably made an API to move armor stands with animations or something

smoky anchor
smoky anchor
wet breach
#

armorstands is all we had for the longest time for this stuff lmao

wet breach
#

mess with the demo code

sleek estuary
smoky anchor
sleek estuary
#

Now I ask you. How much Java do you know?

wet breach
#

you can create some nifty stuff with the demo screen and related code lol

smoky anchor
#

Been coding in Java for like 8 years

pseudo hazel
#

so still beginner then

wet breach
smoky anchor
pseudo hazel
#

just at the stage where you know that you know nothing

twin venture
#

still wana do it xD

wet breach
smoky anchor
#

-_-

#

I don't think I'm ever going there

pseudo hazel
#

im hoping to never reach that stage

smoky anchor
#

(Remember that one time where minecraft had a bug and it was bug in the JRE itself ? :D)

wet breach
#

that doesn't quite narrow down the bug

smoky anchor
#

Well all I remember is that happened
I think Jeb twote about that even

pseudo hazel
#

did you mean x'd?

#

xed

wet breach
#

sounds more like they misunderstood the implementation and took for granted what they believed and ended up being proved wrong and then decided to blame the jvm

pseudo hazel
#

every prgrammer ever

slender elbow
#

mfw twote

wet breach
#

I think there is xkcd script about such things too

smoky anchor
wet breach
#
pseudo hazel
#

lmao the update xD

acoustic pendant
#

Yo, can I ask for a review of a code I just did? (Asking because this channel is for help so)

pseudo hazel
#

post it there

#

we made a thread for code review

#

you might get roasted

#

but what else is than honest truth

acoustic pendant
twin venture
#

welp i get one part working

#

progress right xD?

quiet ice
graceful patrol
#

hello, im updating a plugin from 1.8.8 to 1.20.1, already updated everything in my build.gradle, etc., last thing is that it does not recognize minecraft (Cannot resolve symbol 'minecraft'), I tried to compile a new .jar for spigot using BT (remapped), says this, because it for some reason cannot find it:

Could not find spigot-api-1.20.1-R0.1-SNAPSHOT-remapped-mojang.jar (org.spigotmc:spigot-api:1.20.1-R0.1-SNAPSHOT).
Searched in the following locations:
file:/C:/Users/user/.m2/repository/org/spigotmc/spigot-api/1.20.1-R0.1-SNAPSHOT/spigot-api-1.20.1-R0.1-SNAPSHOT-remapped-mojang.jar

twin venture
#

Finally :

#

got the first part working , now when player leave that server , it will decrease the number .. xD

#

yeah i still have the same issuse with loading data ..
now in the game server i got 3 kills , and 1 wins , in lobby it should have the same data but no ..

charred blaze
#

does packet listener have event for move?

#

does it include npcs?

young knoll
#

Yes you can listen for the move packet

#

It won't include NPCs

pseudo hazel
#

I think packet events has some npc stuff

#

but idk if its based on citizens or something custom

#

its just something I stumbled upon while using the api

twin venture
#

i decided to split data saving into 2 tables :

  • solo table (kills , wins , ... etc)
  • double table (kills , wins .. etc)
#

is this better or worse in performance wise?

pseudo hazel
#

no change

lilac dagger
#

performance wise it doesn't matter really

#

it's just means that now you can get data from the tables individually

#

one of the problems that might arise is an increase in database size

#

since now 2 tables have to be inserted

twin venture
#

hmm , what is the best way to adress this issuse?

#

or there is no best way?

pseudo hazel
twin venture
#

trying my luck with diffrent aproch

pseudo hazel
#

then make it work first

twin venture
#

tried .. it didn't

#

my problem is it does not load the data in lobby

pseudo hazel
#

instead of trying to find the way that is the most optimized

#

make it work first, make it work better later

twin venture
#

like in game server i kill 3 players , i save it instaltly in the database , and it send me back to lobby server , but it does not show the real data the one that in database ..
it load the cached one

dark moth
#

what does class not found

#

it says class not found bla bla bla Player

acoustic pendant
#

What's the height a arrow gets shoot at?

#
           world.spawnArrow(loc.clone().add(0, 1.5, 0), rotateVector(e.getProjectile().getVelocity(), 0.1), e.getForce() * 2, 0f);
           world.spawnArrow(loc.clone().add(0, 1.5, 0), rotateVector(e.getProjectile().getVelocity(), -0.1), e.getForce() * 2, 0f);```
#

trying to do this symetrical

quaint mantle
#

[13:38:18 WARN]: Exception in thread "Craft Scheduler Thread - 1948"
[13:38:18 WARN]: org.apache.commons.lang.UnhandledException: Plugin Frost v1.14.3 generated an exception while executing task 7
at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:56)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NullPointerException
at dev.demeng.frost.ea.run(ea.java:3)
at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftTask.run(CraftTask.java:71)
at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53)
... 3 more
[15:44]
what??
[15:45]
help me please
[15:45]
it keeps sending me the message in the console repeatedly

young knoll
#

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

quaint mantle
#

is long

vast ledge
#

Show you ea.java class, especially line 3

#

?paste

undone axleBOT
vast ledge
#

btw, who names a class 'ea'

lilac dagger
#

maybe's obfuscated?

quaint mantle
icy beacon
#

tf do you mean category

quaint mantle
icy beacon
#

dude

#

are you a dev or an admin

quaint mantle
#

admin

lilac dagger
#

devmin

icy beacon
#

??????

#

is this your plugin or not

#

do you have code

quaint mantle
#

but i have the code

icy beacon
quaint mantle
#

not my

icy beacon
#

then ask the developer of that plugin

#

send them the stacktrace

#

and tell them what happened prior to it

green prism
#

Should I make setup-inventories non-closeable?

icy beacon
green prism
quaint mantle
#

they don't listen to me

icy beacon
#

if this information is vital for a player to have then yes

icy beacon
green prism
#

tysm

quaint mantle
icy beacon
#

if you are searching for a plugin you can ask in #help-server

quaint mantle
twin venture
#

better or worse?

lilac dagger
#

i recommend having a facade storage class where you handle these

quaint mantle
#

I'm looking for a developer who can solve a problem for me

lilac dagger
#

it depends on how big the problem is

pseudo hazel
#

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

pastel spade
#

bump

twin venture
#

what about this way is it better?

#

and do join till all data is loaded?

lilac dagger
#

dot bad

#

but if you call completable once

#

you can just load them directly in the last completable

#

without the completable future

#

for the first 2

twin venture
#

what if i have 2 tables

#

like solo stats , double staats .. etc

#

oh i see

#

oky

lilac dagger
#

yeah, one completable is enough

twin venture
#

you mean CompletableFeature.supllyAsync(-> {

})

lilac dagger
#

no like in the last just do soloUserStorage.load(uuid)

twin venture
#

you mean this right?

lilac dagger
#

yeah

#

there you go

twin venture
#

oky thanks

#

do i need to do .join?

#

to make sure that all data is loaded?

lilac dagger
#

assuming load is impl properly no

twin venture
#

how i have it is like this :

#

idk if this structure is bad or na

lilac dagger
#

looks fine

quaint mantle
#

Hi, I'm trying to set a unicode for my tablist teams but I can't add a space just rigth to the code

lilac dagger
#

code?

quaint mantle
#
team.setPrefix(rank.getUnicode() + " ");
lilac dagger
#

oh

quaint mantle
#

I mean that

lilac dagger
#

is this a scoreboard team?

twin venture
quaint mantle
#

yes sir

lilac dagger
#

maybe the unicode is broken

lilac dagger
twin venture
#

hmm?

quaint mantle
#
public enum PlayerRanks {
    OWNER("\uE000", 4),
    ADMINISTRATOR("\uE001", 3),
    MODERATOR("\uE002", 2),
    DEFAULT(null, 1);

    private final String unicode;
    private final int priority;

    PlayerRanks(String unicode, int priority) {
        this.unicode = unicode;
        this.priority = priority;
    }

    public String getUnicode() {
        return unicode;
    }

    public int getPriority() {
        return priority;
    }
}

that's is how I handle the unicodes

lilac dagger
#

you can make it async in the

twin venture
#

so i dont need to make this one here :

#

and only make it in the asyncLoad method correct?

lilac dagger
#

i wonder if the unicodes are even processed by the server/client

#

maybe just have them directly as utf 8

quaint mantle
#

I replace it with a texture pack

lilac dagger
#

and not the escaped character or how it's called

twin venture
#

so like this :
and this :

lilac dagger
quaint mantle
lilac dagger
#

oh, i see what you mean

#

can you try putting a space before the character?

quaint mantle
#

yeah. Idk why a space can goes there, i must be doing somathing bad

quaint mantle
lilac dagger
#

or put a space but follow it by &r

#

in case some trimming happens

wet breach
#
\U0020
#

thats the code for a space

lilac dagger
#

oh yeah

quaint mantle
#

The space just next to the unicode didn't work, let me try the other 2 thing you all suggested

#

1 sec

quaint mantle
#

I'm soo lost

pseudo hazel
#

hmm its strange, its not like character limit is reached or anything

#

and text without the unicode shows up fine right?

quaint mantle
#

let me try

#

the docker servers goes slow 😦

wet breach
#

\U3164

quaint mantle
#

something is wrong with the server

pseudo hazel
#

lemme guess, its not updating your code?

quaint mantle
#

I guess yeah

pseudo hazel
#

do you know if its built correctly?

quaint mantle
#

I deleting the docker volume and creating a new a one

quaint mantle
#

no errors on console

pseudo hazel
#

no the code

quaint mantle
#

ohh yeah, no errors on the compiler or somewhere else

wet breach
#

this is the character that \u3164 produces

#

its not a space

#

technically anyways

pseudo hazel
#

and what if you try clean package

tardy delta
#

quaint mantle
#

I can share the repo link if you want to see all code

pseudo hazel
#

well I think its more of a problem with the build system if you cant update the plugin code

#

like if you dont see anything change on your server

#

its probably not correctly updating the plugin

quaint mantle
#

I mean, new commands and things works. It appears when I update to the latest version of the pl

pseudo hazel
#

right hmm

wet breach
#

you are not putting the u code in incorrectly?

quaint mantle
halcyon hemlock
#

i feel like helping someone today

quaint mantle
#

this is with text

halcyon hemlock
#

anyone need help?

pseudo hazel
#

yes mardroide needs help

halcyon hemlock
#

with what

quaint mantle
#

xd

pseudo hazel
#

team prefixes arent prefixing

lilac dagger
#

yeah

halcyon hemlock
#

btw i havent done minecraft stuff in like a few months so pardon

lilac dagger
#

are teams scoreboard teams?

halcyon hemlock
quaint mantle
lilac dagger
#

i think tabs have a way to display prefixes as well

pseudo hazel
#

tablist uses team prefixes

pseudo hazel
#

if a player is in a team and has a scoreboard that has this team, the prefix will be shown on tablist and in nametag

#

but some unicode is breaking the rest of the prefix

quaint mantle
#

exactly

#

setPrefix is deprecated?

wet breach
#

I was under the impression they wanted the space at the end? Is there suffixes?

pseudo hazel
#

yeah, they wanted to add a space after unicode but the space doesnt show

#

yeah team suffix exists

wet breach
#

maybe add the unicode character there?

#

its quite possible the method in question removes whitespace and blank characters at the end

#

=/

pseudo hazel
#

well i doubt that

quaint mantle
#

idk mate, I don't see anything strange

pseudo hazel
#

it works for my plugin last time I check

#

but then again, I am using text components instead of strings

#

you can try that too I guess

pseudo hazel
#

new TextComponent(unicode() + " ")

quaint mantle
#

but setPrefix method only alows strings

pseudo hazel
#

oh oof

quaint mantle
#

oh xd

#

look

pseudo hazel
#

then im using tolegacytext probably haha

quaint mantle
#
TextComponent prefix = Component.text(rank.getUnicode());
team.prefix(prefix);
pseudo hazel
#

oh not even

#

I was basically doing the same thing as you

#

but I dont have unicode

#

so thats the only issue I can think of

#

because normal text seems to work fine for you too

quaint mantle
#

Im going to create a local server because docker is killing me

pseudo hazel
#

if you use another unicode and then some text does the text show?

quaint mantle
#

umm idk

#

let me check

kindred sentinel
#

Is there any dependencies to change player's skin?

#

Like, I know plugins that change player's skins but what about dependencies/libraries?

quaint mantle
#

Now the server is with no plugins but there is a prefix to the default team tab

#

this is so confusing

paper zealot
#

im having this error on build tools

#

this is the path java executeable

blazing ocean
#

update java

blissful urchin
#

you need java 21, you're pointing to an older java version. what version MC are you trying to run?

blazing ocean
paper zealot
#

i have jdk 21 and 22 on my machine

#

is this the correct path?

blazing ocean
#

yes

paper zealot
#

but its still giving me the error

#

im trying to run 1.20.6

quaint mantle
#

how can I cancel the InventoryClickEvent

lilac dagger
#

event set cancelled afaik

brazen hollow
#

I have an issue concerning relfections:

System.out.println(extendingType.getTypeName());
System.out.println(extendingType.getClass().getName());

outputs
de.fantasypixel.rework.modules.character.Character
java.lang.Class

shouldn't it be de.fantasypixel.rework.modules.character.Character 2 times?

quaint mantle
#

finally the space worked!

#

a miracle

lilac dagger
#

one returns the type of the class

#

the other returns the class itself

icy beacon
lilac dagger
#

openjdk be like: 😢

brazen hollow
lilac dagger
#

like upper wild card type and so on?

unborn berry
#

i have no idea why the relocation in maven didn't work, someone help me pls

lilac dagger
#

show pom

ivory sleet
paper zealot
#

someone help i have jdk 22

icy beacon
#

does tabcompletion automatically lowercase everything?

unborn berry
icy beacon
#

e.g. if i provide a list of "A" and "b" i'll get "a" and "b"?

unborn berry
#

here is my pom

kind hatch
kind hatch
#

Java 22 is kinda jank right now.

shadow night
#

From what I can remember it keeps capitalization

lilac dagger
icy beacon
paper zealot
# kind hatch Use Java 21.

tried it and it still doesnt work, and for some reason when i restart build tools the options just resets

icy beacon
shadow night
unborn berry
kind hatch
icy beacon
paper zealot
shadow night
icy beacon
kind hatch
shadow night
blazing ocean
shadow night
icy beacon
#

but raydan is just~~~

blazing ocean
unborn berry
#

can someone help me with the maven, it didn't relocate the dependencies

blazing ocean
#

show your pom

unborn berry
kind hatch
#

Yw. The GUI should hopefully get a fix soon for this issue.

pliant topaz
#

Is it possible to get the vanilla name of an enchantment?

slender elbow
#

getKey

#

or you mean the name to send in a message or what?

pliant topaz
#

yea

#

like instead of LOOT_BONUS_BLOCKS it'll be fortune

slender elbow
#

well, it implements Translatable, so you can get the translation key and send the TranslatableComponent with it

pliant topaz
#

I'll try that, thx :)

icy beacon
#

an error pops up in 70% of the cases that i run /stop and i have no idea how to debug this shit 😭
idk i'm either writing to a file and stopping the server at the same time or smth

#

ffs

#

gonna be scouring my entire codebase for this

#

ok might have fixed it

tardy delta
#

not joining an async task?

icy beacon
#

yes

tardy delta
#

what kind of site is that

graceful patrol
#

idk some that i just pasted a image in

blazing ocean
graceful patrol
tardy delta
#

fuckers

eternal oxide
#

I will never pay anyone to stop annoying me

graceful patrol
tardy delta
#

gotta wait 5 seconds till that banner dissapears, too long

eternal oxide
#

offer something worth paying for over trying to annoy me into paying you to stop

tardy delta
#

just use pastes.dev

harsh ruin
#

is there a way to get/add a custom nbt without using a api(third party)?

shadow night
#

Pdc?

harsh ruin
#

..?

shadow night
#

?pdc

graceful patrol
tardy delta
#

use another site

#

more like "try premium to get rid of ads saying to get rid of your ad blocker"

#

but get the actual ads back

pseudo hazel
#

wait you dont have this option?

#

thats a meme

tardy delta
#

takes too long

graceful patrol
blazing ocean
#

pastes.dev >>>

graceful patrol
eternal oxide
graceful patrol
eternal oxide
#
Searched in the following locations:
    file:/C:/Users/user/.m2/repository/org/spigotmc/spigot-api/1.20.1-R0.1-SNAPSHOT/spigot-api-1.20.1-R0.1-SNAPSHOT-remapped-mojang.jar```
#

there will never be a remapped jar under spigot-api, only under spigot

graceful patrol
eternal oxide
#

build using buildtools with --remapped

graceful patrol
#

well, ye, i did that already like 100 times tho

eternal oxide
#

be sure your gradle is using local

#

and ensure your special-source is the latest version.

#

but you are not using maven so I can;t help there

graceful patrol
#

you are a fucking genius

#

thank you

#

i was like a dumbass not using local

torn shuttle
#

what's flossing gamers, I'm here with another on fleek question about what is the laziest way I can support pre and post-1.20.6 api enums in a project so I can get that number one minecraft royale

torn shuttle
#

you just don't have the rizz to be on my level

graceful patrol
#

it just doesnt register it

eternal oxide
#

are you depend on spigot not spigot-api ?

graceful patrol
blazing ocean
#

amirite @cedar saffron

eternal oxide
#

delete teh files one

graceful patrol
#

still

eternal oxide
#

can't help you further with gradle as I don't use it

graceful patrol
#

uh..

#

thank you tho

torn shuttle
#

I need the skibidi code to figure out how to support multiple api versions of spigot on this project without spending the next week working on this mess

eternal oxide
#

Fork your plugin

torn shuttle
#

fork me? ShockedPiko fork yourself m8

#

I don't want to a version split

eternal oxide
#

I seriously would. The API changes are breaking. Legacy your current plugin, then release for future versions

torn shuttle
#

let me check the stats

#

stats say 46% of people are on 1.20.4 for this plugin, the api change was 1.20.6?

eternal oxide
#

Your legacy would still have its current users,but those updating move to new version

torn shuttle
#

the plugin is in active development so legacy is hard to do

#

since i'm not going to add new features to the legacy version but people are probably not switching to the new one until they update to the new mc version

#

when did the api change, anyway, was it 1.20.6 or something?

eternal oxide
#

not sure I wasn;t paying attention

torn shuttle
#

same

eternal oxide
#

I'm coding my next plugin for 1.21+

torn shuttle
#

I guess I'll poll the community to see

tardy delta
eternal oxide
#

I'm betting you get positive feedback on forking

eternal oxide
tardy delta
#

like the plugin with the same name?

eternal oxide
#

yes

tardy delta
#

good

torn shuttle
#

I'll show you the results

eternal oxide
#

I got fed up with them dissing any perm plugin other than LP

#

even though they are breaking their own interoperability with other perm plugins.

pseudo hazel
#

rn I just created a version thats for 1.19-1.20.4 and one version thats for 1.20.6+ which I will continue to update, the other is just because I was already working on an update for my plugin

#

but it wont get more updates past this last one

#

otherwise its impossible to work on 1 plugins side by side with trash api and one with good api

graceful patrol
#

is someone experienced with gradle here?

tardy delta
#

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

graceful patrol
tardy delta
#

idk havent used nms in years

torn shuttle
eternal oxide
#

People generally want new shiny things

#

Now

lilac dagger
#

well new features -> stability

cedar saffron
blazing ocean
#

frfr

young knoll
#

It's standard for mods to have a different jar per version

#

Idk why plugins don't seem to do the same very often

blazing ocean
young knoll
#

It does now

#

iirc

blazing ocean
#

wait rlly

young knoll
#

I think?

eternal oxide
#

yes

tardy delta
#

is there like an issue with 1.20.6 that chests and beds become invisible or smth?

#

or maybe its just me glitching

slender elbow
#

doesn't make them any less dumb, but at least they have a solution for it :^)

rough drift
#

you need to edit the bytecode

worthy yarrow
#

``` format, or ```
?paste

blazing ocean
#

idt it's allowed with mojmaps

#

but idk

worthy yarrow
#

?paste

undone axleBOT
worthy yarrow
#

I mean

#

You're good then

hollow cliff
#

This is a little hard for me to explain as I don't really understand the math required to create this thing I'm trying to make so please bare with me.

__I am trying to make it so the player can throw an item at a mob (that is locked on) and it follows a parabolic arc with a tilt. __

I'm going to try to explain what I mean by parabolic arc with a tilt. Think of a horizontal and a verticle parabola on a 3d plane. The parabola in the middle of those two is what im talking about. Here is a sketch of what I mean: https://www.canva.com/design/DAGIJCqtO_c/FHLbAxipk4W8AjG_SUNFxg/view?utm_content=DAGIJCqtO_c&utm_campaign=designshare&utm_medium=link&utm_source=editor

#

I have been working on this for days, could someone please help me out with a hint or so?

#

I'm just have trouble creating the path for the item to follow

misty ingot
#

so gentlemen, how much of your code did 1.21 break and in what ways? I dont even know what changes they made

eternal oxide
#

none

#

but I rarely write version specific code

pseudo hazel
#

it only broke my dependencies 💀

vagrant stratus
#

KEK

#

same though lol

#

on that note. Trying to do my own quest plugin for experience.
Pub/Sub good enough to handle events or is there something better?
While I could just loop through every quest per relevant event, check if the quest should handle said event, and go from there that feels unoptimal

pseudo hazel
#

yeah I feel like you wanna be able to have the quest decide what event it listens for or what events it gets assigned

#

maybe just some consumer stuff

eternal oxide
#

Interesting, the client Locale isn't set until the join event. It just shows the default US at login.

pseudo hazel
#

hmm

#

pobably to not spam the server when a player logs in

#

like I wouldnt say the locale is critical to logging in

eternal oxide
#

I would too

#

I'd like to load translation at login

#

but its not available until join

misty ingot
#
14.06 21:09:36 [Server] INFO java.lang.IllegalArgumentException: Channel must contain : separator (attempted to use PlayerTPBungee)
#

wha

eternal oxide
#

channel:mine

misty ingot
#

this.getServer().getMessenger().registerOutgoingPluginChannel(this, "channel:PlayerTPBungee");
like this?

#

thats kinda stupid

eternal oxide
#

depends what you are doing

misty ingot
#

do i have to do the same on the bungee plugin

quiet ice
#

namespaces ✨

misty ingot
#

im just sending a single message and my bungee is recieving that single message, thats all

eternal oxide
#

bungee has its own channel name if you are using the built in tasks

#

just a message then yes

vagrant stratus
misty ingot
#

on both ends?

eternal oxide
#

nay namespace

#

any*

misty ingot
#

what even is a namespace

eternal oxide
#

like essentials:messaging

misty ingot
#

ooooooooo

#

that

#

but on both ends right

eternal oxide
#

yes

misty ingot
#

and while mentioning channel for the message too

eternal oxide
#

you cna call it whatever you like

#

so long as its namespaced

#

xyz:xyz is valid

misty ingot
#

will the pluginmessageevent tag also have the full namespace in it

eternal oxide
#

yes

#

you can check for each part

vagrant stratus
misty ingot
#

alr

eternal oxide
#

welp I guess I'll have to give up on pre-loading the translations on player login and just risk a shit message for teh first one

#

I wonder if its there 1 tick after login

#

hmm

pseudo hazel
#

I was more suggesting something like you have a bunch of consumer lists and then your quest can register to an event

#

I guess kinda like bukkit event system xD

vagrant stratus
#

I was just gonna say KEK

pseudo hazel
#

but you are only listener to the events you choose

vagrant stratus
#

I think I've got something for that, somewhere lol

pseudo hazel
#

which would prevent you spamming every quest with every event

#

which is probably what happens with the @eventHandler annotation

#

im not sure

vagrant stratus
#

true, cause this would also work for various other things like custom achievements and stuff

pseudo hazel
#

yeah

#

though at some point just use bukkit events

#

xD

#

and hope its kinda decently implemented

vagrant stratus
#

Yea, the bukkit events would be there to ya know, listen to the events. I just need a system on-top of that so I'm not looping through everything lol

pseudo hazel
#

well I dont know enough abut how bukkit does it

#

but what do you mean by looping through everything

vagrant stratus
#

I believe it just sends the events to every plugin and each plugin handles every event itself

pseudo hazel
#

yeah as long as they made an @EventHandler function

#

like each event has a list of handlers

#

which I presume is getting filled by the annotated methods

#

so when an event occurs, it calls all its handlers

vagrant stratus
pseudo hazel
#

well the idea would be that all quests are event listeners

#

but like

#

idk how thats gonna stack up performance wise

#

like idk whats advisable

vagrant stratus
#

but not every quest handles every event, hence needing some system on top to alleviate the fact that I can't modify the server itself if I wanted to make this public at some point for one reason or another

pseudo hazel
#

no but im saying thats covered by the bukkit events

vagrant stratus
#

for (Quest quest : questList) {//some sort of check/event} would work, it's least optimal

pseudo hazel
#

like if a listener doesnt handle an event, it doesnt get sent the event

vagrant stratus
#

Unless I separated quests/event, which is less ideal since quests could handle multiple events

pseudo hazel
#

im saying that class Quest extends org.bukkit.event.Listener

#

you dont have to loop

vagrant stratus
#

true

pseudo hazel
#

but like once again a lot of people here like to suggest only having one listener for whatever reason

#

and this would brutally violate that

#

but I dont know if the actual event structure is meant for this usecase

#

I would assume so

vagrant stratus
pseudo hazel
#

yeah thats the other way