#help-development
1 messages · Page 1033 of 1
could someone please help me with updating a 1.8.8 plugin to 1.20.1?
Yeah but I meant the second warning.
Is it just some type tomfoolery?
?ask
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!
overupdation.
it returns null if the key wasnt found
well, okay, how do I update the plugin?
?
use getOrDefault to not have that issue
Does switch handle null values as default or will it error out?
Build for your version with BT, change references in pom, change (add) api version to plugin.yml
update your dependencies probably too
then fix the code errors
eehm, idk xD
oh so just fuck around and find out then?
yes
Anyone get crash with spigot 1.21?
k ty
yeah I guess
but usually getOrDefault with an empty string is way less error prone
its in gradle tho, so its in build.gradle, right?
There's a getOrDefault method?
yeah
oh
its just a joke man
honestly I forgot other build systems exist, yes lol :D
its not the answer
k, thx
pdc.getOrDefault
its an old plugin, like 4 years, i didnt touch it since, so ye lmfao
guys give me a good version to code a plugin with npc nms stuff
wdym
nvmm
someone else pls help them
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
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
well, the problem is its kinda big 🤐
how kinda big
84mb
7
sounds like you compiled everything with it
ye
yes
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
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
already did, compiled it
U got a build.gradle script?
yep
Show us
`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
}
}`
Oh wtf
what
Any reason why u downloaded all of them locally?
u know why it does not know what bukkit and minecraft is, or?
I mean my primary guess would be that it can’t find the jar
why tho
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
broo, thats so annoying tho, why tf does it just not work
What u can try to do is to just invalidate local caches
u think that would work?
Presuming u use an ide that has such a feature
Worth a try
intellij
sometimes those caches get corrupted
Yea then do it
cleared it, still fucking does not work
Ugh yuck
If you have source code you can just upload them into github add use jitpack repo to add yours deps
well, i dont have the source code anymore
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
Here‘s a PDC Type for ItemStacks https://github.com/mfnalex/MorePersistentDataTypes
oh
how to download spigot 1.21 jar
?bt
pls help me
I'm glad your libraries exist
anyone pls give me direct jar file
No
Download buildtools and double click it
i want to add in server not local
someone knows?
Run buildtools. It creates a spigot jar, then you can upload that
You must use JDK 21 or later
Just wondering. How come this one isn't on maven central?
It isn‘t? Then i forgot it. My other libs are usually on central
I will upload it there later today
I don't know if it is. afaik it's not linked though
No, 20 is less than 21
if it was because of that, i will go kms
Btw why did you add those files with path and not through mavenLocal() ?
idk tbh, it was made like 4 years ago
Don’t think maven local covers such dependencies?
repositories {
// ...
mavenLocal()
}
dependencies {
compileOnly("org.spigotmc:spigot:1.21-R0.1-SNAPSHOT")
}
this is the usual way for obfuscated spigot .jar
buildtools installs the dependencies to maven local
oh yea but this guy has like 10 dependencies all in his local libs folder
still, updated to jdk 21
even restarted + cleared cache
does gradle not detect the classes, or only IntelliJ?
File -> Project Structure-> Project-> SDK -> 21
already did
the issue is that you added the spigot .jar which is a bootstrap .jar and doesnt directly contain the classes
do it properly, like here
?bootstrap
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
alternatively, do it like this ^
but mc 1.20.1 is java 17?
oh I thought it was about 1.21
anyway, the issue is that they're depending on the regular spigot.jar
why tho
it's explained here
so i need also spigot api?
do you use NMS?
no
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
maven' in 'org.gradle.api.artifacts.dsl.RepositoryHandler' cannot be applied to '(java.lang.String)
are you using groovy?
i dont think i used groovy here
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'
}
is your file called build.gradle or build.gradle.kts ?
build.gradle
then you're using groovy
this ^
build.gradle = groovy
build.gradle.kts = kotlin
np 🙂
welp, it still does not like "minecraft"
yes, minecraft classes are part of NMS
for that, you need the actual spigot dependency, not spigot-api.
If you need to access NMS classes from inside your Spigot plugin, it is a very good idea to use the so called Mojang mappings. Disclaimer: This post is written for 1.20.4. If you use another version, you of course have to replace every occurance of “1.20.4” with the version you actually use. What are...
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)
oh okay
I have my own remapper
For gradle?
Ye
does not work for me for some reason, idk why
Interesting
?notworking
"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.
I’ve been looking for a good gradle one, the Patrick one has been giving me some issues
Cannot resolve symbol 'minecraft'
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
I need tutorial how to change players skin for 1.20.1
But is it public
yes
i have problem https://web.archive.org/web/20190130210641/https://mythicmobs.net/javadocs/ - what the argument i shold add to "getKey()
io.lumine.xikage.mythicmobs.io.MythicLineConfig
in new verison api argument string not exists in this method
Can you add custom armor trims with plugins or is that only possible with datapacks?
datapacks
Userdev isn’t ready yet
Smh it’s been over 12 hours
People are gonna give me all the one star reviews
How does one access a datapack trim pattern?
Even though I haven’t released anything with NMS yet
- How to use nms cross version
- How to change player's skin? Please help🙏
see the registry type
Huh?
It's a bit untested so Idk how well it performs
Registry.TRIM_PATTERN
https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Registry.html#TRIM_PATTERN
https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Registry.html#TRIM_MATERIAL
declaration: package: org.bukkit, interface: Registry
Then you can get by namespaced key
it's on maven central now. GroupID is "com.jeff-media" (hyphen instead of _)
alright, that's great!
- You have to import nms of each version and whether compile for each version or create your hook system that will load the class according to the version. Or use reflection. But this is mainly a pain, and usually bad. Most often you don't need NMS. Why are you using it ?
- Version ?
- To change players skin
- 1.20.1
So why would you need multiple versions ?
And change player skin for the player itself? Or for the others (like a disguise) ?
For others and for himself
?nms
ty
There are plenty of plugins for this. I recommend having a look at them
- Changing the skin for the player itself is some really hard mechanics, at least it used to be
do you have git
no
Maybe you know some libraries or dependencies that can help?
nvm
ohh
it says to use its own git
but yeah you can try to download it
i gotta do it manually then
maybe ots the issue
what protocol lib used for?
It's like part of nms, or lib that can replace nms?
for most things it can replace what nms does
Is it better to use it than nms?
Yes
I disagree with the easier part it's definitely much more involved for some things
Even like sending packets kekw
and you dont have the overhead of rewriting your code for every update
Does anyone use nms now for their plugins?
I use packetevents since I can just do a sendserverpacket with their wrappers which is very easy to use
I do
https://github.com/PineappleDevelopmentGroup/Pineapple. Dev branch for example
Yes, a lot of people do
But it's not very flexible?
It definitely is imho
i guess it ultimately depends on how you implement it I guess
Hm
Hi , is this scalable for big server usage?
https://rethinkdb.com/faq
What do you need nms for
i mean for a plugin iam making that may contain 1000 users .. in the database
Idk, just asking, maybe someday I will learn it..
concurrent player's xD
Ahhh
Is there any tutorial for packets?
idk then, depends on how they implemented it probably
iam thinking about going back to programming in minecraft, any ideas for minigames i can make?
What they can do?
Bedwars
there are tons of bedwars plugins out there ..
i need to make something unique and new
SkyWars
also same answer ..
Maybe first have a look at ProtocolLIb, it will be way easier for the versions dependency issue
Hide and Seek
Ok, but I still want to learn what packets can do and how to work with them
PacketEvents >>>
You're kinda mostly on your own for that stuff
your best friend is the wiki xD
PacketEvents, ProtocolLib and NMS are all packet stuff. It's just how you use them
Stay away from nms and packets if you aren't confident in your debugging I wouldn't go into that
protocol wiki tells you the actual meaning and how to build packets
Matter of fact i do have skywars project in progress ..
^ But before touching them, please be confident enough in coding ^
but its far away from finished ..
then finish it xD
its really hard
cuz i do support mongodb , sql , redis ..
well then why do you want even harder ideas
i need ideas to make it better
skywars is probably the easiest and most basic minigame
Pretty easy
compared to other minigames
come join verified
Why did you make your libraries complex
Are packets some type of asynchroned stuff for players?
packets are the data that is sent between the players and the server
not libraries
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
So you can change some stuff in that packets.. mhm
Spawning entity, placing blocs........
come vc , gonna show you the system ..
your server can pretend that its something entirely different if you change what packets you send and receive
No im going to work in lime 3 minutes
but its your fault if you decide to support like 10 different databases and then call it hard xD
well its paid resource
You can also kinda do that without it being hard too as long as you enforce a sql schema on youe nosql databases for insertion
iam trying to make it 1:1 like that big server
I guess so, im not an expert on database connections
wana come give me ideas? @pseudo hazel ?
i cant im at work
k
The cruel reality we must live
yup
I can come give you ideas but you'll need to pay me 20 an hour
only a few hours left until weekend though
naah thanks xD
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
and what does that do?
so i can join arenas servers easly
Is there a queuing system?
so you implemented what bungee already provides
not yet , i didn't make queuing system still in progress 🙂
but a bit better cuz i can know if the game is started , running or ended
and it show the online player's in that server too
which again bungee provides
well there is a proxy plugin i use in there
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
also using plugin messaging to bungee itself it can give you the player counts connected
if there for example 200 online player's at the same time?
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
i see ..
Ya can't beat the raw packets with your high level operations mister 😤
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
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
iam not making them for my own usage , thinking about make it a product and sell it maybe in 1 year time frame
in 1 year it will probably be obsolete
i graduated and i have nothing to do , i do have a job from 3pm afternoon till 9 pm evening
and why is that?
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
Alright thanks for the advince really appriacte it 🙂
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
xD naah
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 😉
that's nice to hear 🙂
i do myself had a plugin got really known ..
core-SkyPvP got like 100 buyer in 2 years .. ik its really low but yeah ..
what did it do
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 😉
now we have Entity Displays and the sorts
Was created just a little over 10 years ago
how i make break block animation on armorstand?
Do you mean the cracks ?
cracks?
I would like to make an armorstand do the animation of breaking wheat
how did that work
is it hard to understand it?
wouldn't blame you if looked at the source for it XD
didn't look at it lol
3 devs worked on it lmao
DSH105, CaptainBern, and Myself 
all 3 of us are also former Dev Bukkit Staff too
Best lib W
anyone know how does this menu works?
maybe they are interested in the lore part?
concept of creating this?
internal stuff
yes ideas?
i woulf say ask choco but he probably can't tell ya
no
<_>
its rather easy...
i can do the Map Selections and Times joined , but the Available Games is a bit hard to do
idek what they mean
so you see the lore? it pulls the info of what is available
yea obv
they are obviously having a hard time understanding the concept of how you pull that info and stick in there and keep it updated
How do I move the armorstand arm to simulate breaking wheat?
but thing is if my hunch is correct, that inventory actually doesn't exist
my problem is this only ..
idk how to do that one
you need a lotta infra for that
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?
https://imgur.com/R2LFXx6 how i make this?
or a map?
networks like hypixel have custom plugins and backend solutions to provide data to the servers
those are judt armour stands with some transformations
Do basic math with system time and modulos
Set the arms angles
but move what?
arm
and then if you set the angles for the legs, and then speed it up you can make a fake entity player running around 😄
but I suppose we should stick with the arms for now
declaration: package: org.bukkit.entity, interface: ArmorStand
i prefer using custom models and item displays lol
lol
you can do so much cool shit with that
how i get armorstand arm
well I am sure this is probably better since they are a thing now
someone probably made an API to move armor stands with animations or something
(wynncraft 2.1 hint hint)
Can't wait to finally see what's possible on big scale
plenty have I am sure
How much do you know java
armorstands is all we had for the longest time for this stuff lmao
btw if you want to mess with something that can have some cool effects and concepts
mess with the demo code
java or bukkit api? 😂
read what I said
Now I ask you. How much Java do you know?
you can create some nifty stuff with the demo screen and related code lol
Been coding in Java for like 8 years
so still beginner then
what is the comparison being used? lol
shush
yeah ik it 🙂
just at the stage where you know that you know nothing
still wana do it xD
at least they are not at the stage yet where they actually need to figure out how something is actually implemented in the JVM specifically
im hoping to never reach that stage
(Remember that one time where minecraft had a bug and it was bug in the JRE itself ? :D)
that doesn't quite narrow down the bug
Well all I remember is that happened
I think Jeb twote about that even
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
every prgrammer ever
mfw twote
lol
I think there is xkcd script about such things too
?
lmao the update xD
Yo, can I ask for a review of a code I just did? (Asking because this channel is for help so)
post it there
we made a thread for code review
you might get roasted
but what else is than honest truth
oh, that's probably true
Me selecting dependencies
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
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 ..
?
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
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?
no change
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
🗣️
keep it like before xD
it was bugged
trying my luck with diffrent aproch
then make it work first
instead of trying to find the way that is the most optimized
make it work first, make it work better later
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
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
[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
?nocode
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.
is long
btw, who names a class 'ea'
maybe's obfuscated?
in which category?
tf do you mean category
admin
devmin
but i have the code
.
not my
then ask the developer of that plugin
send them the stacktrace
and tell them what happened prior to it
Should I make setup-inventories non-closeable?
setup of what?
Smth like name, gender...
they don't listen to me
if this information is vital for a player to have then yes
looks like you need a new plugin then
tysm
ok, help me please?
??
if you are searching for a plugin you can ask in #help-server
check dm's
better or worse?
i recommend having a facade storage class where you handle these
I'm looking for a developer who can solve a problem for me
it depends on how big the problem is
?ask
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!
bump
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
yeah, one completable is enough
no like in the last just do soloUserStorage.load(uuid)
you mean this right?
assuming load is impl properly no
looks fine
Hi, I'm trying to set a unicode for my tablist teams but I can't add a space just rigth to the code
code?
team.setPrefix(rank.getUnicode() + " ");
oh
I mean that
is this a scoreboard team?
fine?
yes sir
maybe the unicode is broken
no, you don't need these async
hmm?
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
you can make it async in the
so i dont need to make this one here :
and only make it in the asyncLoad method correct?
i wonder if the unicodes are even processed by the server/client
maybe just have them directly as utf 8
I replace it with a texture pack
and not the escaped character or how it's called
so like this :
and this :
indeed
this is how it looks without texture pack, I'm unable to give an space
yeah. Idk why a space can goes there, i must be doing somathing bad
yeah give me 1 sec
try using the u code for space
\U0020
thats the code for a space
oh yeah
The space just next to the unicode didn't work, let me try the other 2 thing you all suggested
1 sec
hmm its strange, its not like character limit is reached or anything
and text without the unicode shows up fine right?
something is wrong with the server
lemme guess, its not updating your code?
I guess yeah
do you know if its built correctly?
I deleting the docker volume and creating a new a one
the server? All goes right idk
no errors on console
no the code
ohh yeah, no errors on the compiler or somewhere else
and what if you try clean package
ㅤ
same, no errors
I can share the repo link if you want to see all code
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
I mean, new commands and things works. It appears when I update to the latest version of the pl
right hmm
you are not putting the u code in incorrectly?
instead of the \UE001 is \uE001 idk, just is what i see different at what you sent
i feel like helping someone today
this is with text
anyone need help?
yes mardroide needs help
with what
xd
team prefixes arent prefixing
yeah
btw i havent done minecraft stuff in like a few months so pardon
are teams scoreboard teams?
not working properly? or what
yes
i think tabs have a way to display prefixes as well
tablist uses team prefixes
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
well, its the prefix so should start looking at the beginning of the string
I was under the impression they wanted the space at the end? Is there suffixes?
yeah, they wanted to add a space after unicode but the space doesnt show
yeah team suffix exists
maybe add the unicode character there?
its quite possible the method in question removes whitespace and blank characters at the end
=/
well i doubt that
idk mate, I don't see anything strange
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
yeah!
new TextComponent(unicode() + " ")
but setPrefix method only alows strings
oh oof
then im using tolegacytext probably haha
TextComponent prefix = Component.text(rank.getUnicode());
team.prefix(prefix);
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
Im going to create a local server because docker is killing me
if you use another unicode and then some text does the text show?
Is there any dependencies to change player's skin?
Like, I know plugins that change player's skins but what about dependencies/libraries?
something is wrong with docker, let me create a local server and i'll check
Now the server is with no plugins but there is a prefix to the default team tab
this is so confusing
update java
you need java 21, you're pointing to an older java version. what version MC are you trying to run?
yes
how can I cancel the InventoryClickEvent
event set cancelled afaik
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?
no
one returns the type of the class
the other returns the class itself
me when i run out of arguments with my friend:
- adoptium
openjdk be like: 😢
I want to get all subtypes of T in a Set<T> with reflections and instantiate them
like upper wild card type and so on?
i have no idea why the relocation in maven didn't work, someone help me pls
show pom
That’s hard I mean using reflections library is the right way to go, however classes come and go, they get loaded and can also get unloaded during runtime
someone help i have jdk 22
does tabcompletion automatically lowercase everything?
e.g. if i provide a list of "A" and "b" i'll get "a" and "b"?
here is my pom
Use Java 21.
Mh for me it seems to work
Java 22 is kinda jank right now.
I don't think
From what I can remember it keeps capitalization
consider looking at the filters
raydan how often do you think about me per day :3
tried it and it still doesnt work, and for some reason when i restart build tools the options just resets
yep i lowercased it myself lol js noticed
Idk, enough to be too much tho
what can i do with it i try all the ways...
Options resetting is intentional. (At least for now)
However, there is currently a bug with Java Executable Overrides.
So unless you want to uninstall Java 22 from your system, it'd probably be better if you ran BuildTools from the command line this time around.
aww
how do we run buildtools from the command line?
When I'm in bed I sometimes think of you
.< i'm blushinggg stop!!!
Open Command Prompt in the directory where the BuildTools jar is.
Run java -jar BuildTools.jar --rev <MC_VERSION>
I just suffered a 💀 deadly dose of cringe ngl
lmfao
did you just call zbll cringe 😳
No, but that one single message
he's shy probably as well :p i mean i would be shy if i received that message!
but raydan is just~~~
real
can someone help me with the maven, it didn't relocate the dependencies
show your pom
https://pastecode.io/s/4z8isesq
there you go
thank you it is working
Yw. The GUI should hopefully get a fix soon for this issue.
Is it possible to get the vanilla name of an enchantment?
well, it implements Translatable, so you can get the translation key and send the TranslatableComponent with it
I'll try that, thx :)
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
not joining an async task?
yes
bump
https://ctrlv.cz/43bw help?
what kind of site is that
idk some that i just pasted a image in
could someone help me?
fuckers
I will never pay anyone to stop annoying me
lmfao, it does not even happen to me
gotta wait 5 seconds till that banner dissapears, too long
offer something worth paying for over trying to annoy me into paying you to stop
just use pastes.dev
is there a way to get/add a custom nbt without using a api(third party)?
Pdc?
..?
?pdc
do u know how to fix that tho
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
takes too long
pastes.dev >>>
cant paste images there, so skill issue
there will never be a remapped jar under the api
what
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
can i get spigot api and spigot remapped too?
build using buildtools with --remapped
well, ye, i did that already like 100 times tho
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
OOH
you are a fucking genius
thank you
i was like a dumbass not using local
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
tf are u yappin about
you just don't have the rizz to be on my level
wait... it still does not like "minecraft" tf https://pasteboard.co/b1vI41er8xGY.png
it just doesnt register it
are you depend on spigot not spigot-api ?
well, this is the code:
https://pastes.dev/UjvqwSqTs9
bro is NOT the skibidi ohio rizzler
amirite @cedar saffron
top one thats commented out, remove the -api
delete teh files one
can't help you further with gradle as I don't use it
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
Fork your plugin
I seriously would. The API changes are breaking. Legacy your current plugin, then release for future versions
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?
Your legacy would still have its current users,but those updating move to new version
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?
not sure I wasn;t paying attention
same
I'm coding my next plugin for 1.21+
I guess I'll poll the community to see
whats it gonna be?
I'm betting you get positive feedback on forking
Essentials 😉
like the plugin with the same name?
yes
bet
good
I'll show you the results
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.
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
is someone experienced with gradle here?
?ask
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!
wait... it still does not like "minecraft" tf https://pasteboard.co/b1vI41er8xGY.png
it just doesnt register it
idk havent used nms in years
still got a long time to go but I think I can guess how it will end up
well new features -> stability
Ong
frfr
It's standard for mods to have a different jar per version
Idk why plugins don't seem to do the same very often
mfw api version doesn't include minor releases
wait rlly
I think?
yes
is there like an issue with 1.20.6 that chests and beds become invisible or smth?
or maybe its just me glitching
because users are too dumb to figure out what jar to download but latest, whereas with launchers you can get the right jar for the right version, i know for a fact modrinth and prism launchers' mod downloaders do that
doesn't make them any less dumb, but at least they have a solution for it :^)
yeah
you need to edit the bytecode
``` format, or ```
?paste
?paste
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
so gentlemen, how much of your code did 1.21 break and in what ways? I dont even know what changes they made
it only broke my dependencies 💀
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
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
Interesting, the client Locale isn't set until the join event. It just shows the default US at login.
hmm
pobably to not spam the server when a player logs in
like I wouldnt say the locale is critical to logging in
I would too
I'd like to load translation at login
but its not available until join
14.06 21:09:36 [Server] INFO java.lang.IllegalArgumentException: Channel must contain : separator (attempted to use PlayerTPBungee)
wha
channel:mine
this.getServer().getMessenger().registerOutgoingPluginChannel(this, "channel:PlayerTPBungee");
like this?
thats kinda stupid
depends what you are doing
do i have to do the same on the bungee plugin
namespaces ✨
im just sending a single message and my bungee is recieving that single message, thats all
bungee has its own channel name if you are using the built in tasks
just a message then yes
Yea. I'll likely go for a pub/sub and go from there.
Bare minimum it's killed entity_killed player or consumed item player or something like that
what even is a namespace
like essentials:messaging
yes
and while mentioning channel for the message too
will the pluginmessageevent tag also have the full namespace in it
so a quest can just listen for consumed and then get the item & player from the subscribe event. Although, I'd have to find a clean way of handling that too since there's many events one can sub too @pseudo hazel 🤔
alr
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
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
I was just gonna say KEK
but you are only listener to the events you choose
I think I've got something for that, somewhere lol
which would prevent you spamming every quest with every event
which is probably what happens with the @eventHandler annotation
im not sure
true, cause this would also work for various other things like custom achievements and stuff
yeah
though at some point just use bukkit events
xD
and hope its kinda decently implemented
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
well I dont know enough abut how bukkit does it
but what do you mean by looping through everything
I believe it just sends the events to every plugin and each plugin handles every event itself
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
quite literally just for or foreach or something through the list of quests lol
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
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
no but im saying thats covered by the bukkit events
for (Quest quest : questList) {//some sort of check/event} would work, it's least optimal
like if a listener doesnt handle an event, it doesnt get sent the event
Unless I separated quests/event, which is less ideal since quests could handle multiple events
true
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
Yea. Hence thinking pub/sub.
1 listener, and then just having relevant quests just subscribe to specific things
yeah thats the other way



fork yourself m8