#help-development
1 messages · Page 386 of 1
How is that important
well, i would like to have it, but if it's more advanced, i will limit that
Oh, save bukkittask in set or smth
Or just have simple counter
Must scheduling methods return BukkitTask instance
What cardinality would be used if one of the classes extend another one?
if it doesnt have to be exact on the milisecond you can just put them all in a set and tick the time for all of them at once
what do you mean by cardinality?
The relationship type
well its not a relation
Well, it is kinda
its just the same object, but with extra things
would it not is has?
no
Definetly not has

has a?
Whatever has means
"is a"
I'm just working on a UML diagram
like a class diagram?
Yes
it would be an "extends" arrow
So that would it association type then
ie an open triangle pointing to the base
its association is inheritance/extension
yea
fabric modding documentation might be one of the clumsiest documentations ever.
they dont even list out everything in their own api on their own website.
how do people even write minecraft mods like create and immersive portals?
this is so difficult.
i cannot tell what goes where.
easily, at least.
Now what cardinality do you think would be used I would say 1
Maybe even 1 .. 1
Does it not have to have one?
an extension is a special type of relation
it cant have a number because they are the same object functionally
You can't use relation scheme relationships with java classes
you can to an extent
So would there be relation type for classes that don't extends or implement anything?
is there a way to find out a command's output without reading the logs? (for consolesender executed commands ofc)
why are you making a class diagram?
For an outline
if a class doesnt implement or extend anything, there is no extensiom relationship
uh look at the terminal?
probably want a code way
yeah lol
someone suggested this to be added one of my projects which is a remote command execute tool
uh in what context?
where should you get the ouput?
you can see if an onCommand returns true or false 💀
first of all, please use getBlockY instead of getY and dont loop over doubles like that
💀
You can probably just use rcon for that
let me just send you the message link
Ig it returns output
are we talking about a spigot or bungeecord context now?
uhh cuz the only command output thing in spigot i know is the returned boolean in CommandExecutor#onCommand
do you also mean logs?
yeah the message, text ones too
just the boolean doesnt mean much for server owners tbh
could hook into the loggers probably
Rcon 😦
but the thing is to know when it was command output and when not
I am actually searching about it rn, can you post something that might help me?
Well, I really have no resources for that, but should be plenty online
It's just simple protocol
Send command-receive output
It's also integrated into vanilla Minecraft ^
its because i want took delta locations, and not block locations
but anyways the for loop is not being called tf
but like do you only want to loop for one position per block?
yeah i guess
so what are those delta positions
its because i want get all entities inside of those specify locations nvm
and btw you messed up teh for loop itself since you check against x <= value
i just want to know fix my problem now
instead of for x, y an z differently
?
for(double x = minX; x <= maxX; x++) {
for(double y = minY; x <= maxY; y++) {
for(double z = minZ; x <= maxZ; z++) {
; x <= maxY
let kill me self
yeah, took a look and it seems like a very cool way to achieve this but if someone would want to use rcon, wouldnt they just use an rcon client to send commands? I mean what is their point of using my plugin lol
how so?
Can someone help me with this. When I shift and click on Freebuild the item is dragged into my hotbar. However, it is only a glitch item because it disappears again when I right click it.
Yeah, but you can easily implement it in your pl, why would you reinvent the wheel by intercepting logger or looking into log files
Also it may be unreliable as Fourteenbrush said
yeah you are right
Thank you very much
thanks Fourteenbrush and goksi
Alternatively you can also just wait a tick before closing the player’s inventory
is anyone familiar with font based inventory ui textures in chat rn? I have been testing and it seems like 256x256 is the max size for a gui, is that true?
anything above just breaks the texture and displays a box character
okay
Could probably have multiple characters though
thanks for the confirmation
oh yeah that makes sense
like combine them
I was planning on combining characters but the spacing might be kinda tricky
or is there a way to reduce the character space it takes up to 0?
Hello, is there a reliable API for 1.19 that allows me to change a player's skin?
or is that already the case when I usea custom font
Yeah you can even have negative space
well yeah thats the weird T character iirc
okay
I just answered my own question
thanks for your help lol
I guess one more question
is it also possible to offset that space in the font provider entry itself?
like height and ascent
is there like an option for horizontal offset?
adding a handler
Is there any reason for sometimes an error occurring "Class not found" but class exists?
It's not constant but rarely happens
How can I change the player's name above head?
how can I get Velocity as single Number?
is there an API way?
velocity.length
@drowsy helm lombok powerful
@SuperBuilder
public class GenCone extends LocationGeneratorSegment implements LocationGenerator {
@Override
public List<Location> run() {
int sanity = 0;
List<Location> runlocationList = new ArrayList<>();
while ((runlocationList.size() < this.getLocationNumber()) && (sanity < 100000)) {
sanity = sanity + 1;
double thisLocRadius = this.getOuterRadius() * (Math.pow((1 - ((1 - (this.getInnerRadius() / this.getOuterRadius())) * random())), 1.0 / 3.0));
double theta = (1 - (2 * Math.random())) * Math.PI * (this.getArcAngle() / 360) + Math.PI + Math.atan(this.getOrientation().getY()/this.getOrientation().getX());
double phi = Math.acos((2.0 * Math.random() - 1.0) * (this.getArcAngle() / 360)) + Math.atan(Math.pow(Math.pow(this.getOrientation().getX(), 2) + Math.pow(this.getOrientation().getY(),2), 0.5)/this.getOrientation().getZ());;
double x = thisLocRadius * Math.sin(phi) * Math.cos(theta);
double y = thisLocRadius * Math.sin(phi) * Math.sin(theta);
double z = thisLocRadius * Math.cos(phi);
Location sampleLocation = this.getOrigin().clone().add(x, y, z);
if (this.isSeekGround()) {
runlocationList.add(LocationGeneration.SeekGround(sampleLocation));
} else if (!((this.isNoSolids()) && (sampleLocation.getBlock().getType().isSolid()))) {
runlocationList.add(sampleLocation);
}
}
this.setLocationList(runlocationList);
return this.getLocationList();
}
}
is there event that triggers when player places item in inventory (after dragging it)?
exactly moment when he releases the item
default InventoryClickEvent doesnt register it
Or at least when new item appears in inventory
InventoryDrag
I 'm making a plugin for stairs , if you put one ladder , three will be put at once . the algorithm is easy, but for some reason it is not possible to write a plugin
helicopters , help with the plugin .
the plugin is very light, but for some reason it doesn't work for me
can someone write a plugin for me? please
my head is boiling
How is it used?
i use it like this and nothing happens:
@EventHandler
public void onDrag(InventoryDragEvent e) {
if (e.getInventory().getHolder() instanceof GuiSell) {
//do my stuff
}
}
it sometimes work, sometimes not, i dont get it
bro , help plis
getNewItems returns a Map<Integer, ItemStack>, where the Integer is the raw slot and the itemstack is the new item that is at that slot
getInventorySlots returns... "local" slots which I'd argue is a poor design choice but whatev
can you write a plugin , is it light ? please
?
?services
If you wish to request or offer development/art/building/administration services, please do so at https://www.spigotmc.org/forums/services-recruitment-v2.54/
or ask onthe forums
plis
Stop begging for free stuff, it's cringe tbh
i call the function that fetches all items in inventory, when event is called, is result of event already applied? If no, can i apply it before i call my function?
events usually fire before the result occurs
How to change the name above the player's head? couldn't find any updated solution
The video/gif you shared doesn't look like a drag, but more just like a InventoryAction#PICKUP_ALL followed by a InventoryAction#PLACE_ALL, which should be triggering the InventoryClickEvent. Do you hold down any buttons while moving the cursor?
nope
Then it's the InventoryClickEvent for sure. How do you know that it's not firing? What does your current event handler look like?
its quite long so i will cut few parts
@EventHandler
public void onClick(InventoryClickEvent e) {
if(e.getClickedInventory() == null) return;
if (e.getClickedInventory().getHolder() instanceof GuiSell) {
((GuiSell) e.getClickedInventory().getHolder()).UpdatePrice();
ItemStack currItem = e.getCurrentItem();
Player player = (Player) e.getWhoClicked();
if(currItem == null) return;
if (//needed item) {
// do stuff
}
if (//needed item 2) {
// do stuff
}
if (//needed item 3) {
// do stuff
}
((GuiSell) e.getClickedInventory().getHolder()).UpdatePrice();
}
}
why abusing the inv holder instead of creating a wrapper?
Your early return of currentItem == null seems like it's returning if you click an empty slot, which you do when placing down. Log before that and see if it's called.
cuz its my first plugin, i watched few vids and this looked more reasonable than others
yeah, it does goes in there but exits on currentItem == null. Looks like i should use BukkitScheduler to to stuff next tick, cuz it doesnt fetch new items on same tick.
Thanks a lot!
this is how I do it
oh ye you're doing more stuff than me
I don't think there's a need to wait for the next tick, as you have all required data available right at the event call. When the action is PLACE_ALL, you can just get the ItemStack from the cursor directly, for example. But I don't know what you want to achieve, so it's going to be hard to provide specific help.
That is a rather large project then
not really
How to change the name above the player's head? couldn't find any updated solution
Unless you copy & pasted a shitton of stuff
like
so far I've got maybe 1 complex menu thing
maybe two
it just happens to have a ton of classes
that is quite a lot more classes than I usually have in my projects
my parser is like this 😳
Welcome to the world of monoliths, xDD
that is the opposite
So welcome to the world of enterprise java
I'm the monolith guy
is it bad to leave reflected constructor open
Hence projects rarely exceed 100-ish classes
im thinking of caching the protected constructor reflection object
inside a field
and setting it as accessible
is there any drawback leaving .setAcessible() to true always until object's lifetime?
constructor.setAccessible(true);
or is it just for the instance
well not truely other than incompatibility with other plugins
who can make a plugin? very light
I'm actually wondering how you ended up with such few classes tbh, xD
well your stuff is far more complicated and is like a scripting lang
anyone?
im busy
I was getting at the fact that it seems to be a quiz, npc, chat, skin and ray-tracer, all at once, xD. I usually try to create separate reusable projects, a file-tree like this would make me go insane.
Yours still has quite a few features, I mean... you're working on it a lot.
and you believe that
who can make a plugin? very light
Wrong channel, xD
all it should be able to do is to parse these: https://github.com/FourteenBrush/MathExpressionParser/blob/master/src/test/tests.txt
if the player puts one ladder , three will be put
Fine ill do it myself:
As other posters have indicated, setAccessible is only applicable to that instance of your java.lang.reflect.Field, so setting the accessibility back to its original state is not needed.
I can. But will I?
plis
However incompatibility
with what
Anyone that does setAccessible(false)
write plis
No
then wtf is this
Or well yes
geol
who can make a plugin? very light
Hey, I go an enormous backlog of projects I need to complete still
Just reminded me of my own backlog... ouch.
Define what you actually need, that would be step #1 if you wanna have a chance with getting somebody to write it for you.
but The getDeclaredField method has to return a new object each time, exactly because this object has the mutable accessible flag. So there is no need to reset the flag.
if the player puts one ladder , three will be put
stackoverflow
do you want
ye i started doing that a few days ago cuz i thought it'd be good 💀
a free plugin
Do you use ChatGPT
from me
who here needed a free plugin
Please sotp right now if you dont want to get banned
me
im an experienced dev with an amazing portfolio
to me
no, the god on the sky
🤦♂️
I never have dm to fast to choco
ahahaha
can you write please?
what
SLAPI, Micromixin, Starplane and my Maven resolver are projects that are in progress.
SLL 5.0, SLBC, an eclipse IRC plugin and multiple theotown & galimulator mod projects are projects that I want to start in the next year.
And then there are other Eclipse plugins that I am wishing to start within the next few years.
So, do you think I have time for other projects, @hasty hamlet? Also, be aware that other developers have a similar backlog
i only do it for you under one condition @hasty hamlet
which one?
you pay me
i actually found a whole post dedicated to mutability of Reflection objects that states the opposite @quiet ice
there is no money
Couldn't one just... try it out? :-:
No money = no plugin
no
i don’t know context but if you cannot afford what you need to get your server running
you’ve got a bigger problem
i dont trust equality checks in this case, there might be jvm trickery there
I will just tag an staff to take him out i cant hesistate any 1 second more
why don't you make me? And I will leave this channel and not go in
He has break a lot the balls
why are you talking french
okay - yes you are right.
In that case there are no serious drawbacks to going so
i cannot “make you” or any clones of you
i am capable of creating a plugin you want if you pay
but wait
the appropriate price
@quaint mantle can you please help here, he has being 3 hours fucking with the same thing, and he is also disturbing talking in a weird lang. Thanks and sorry for the tagging
I'm talking about plugin
in the blog post it states it depends on implementation
anyone that does it for free likely isn’t competent enough
The specification doesn't explicitly say that calling Class.getMethod twice with the same parameters will return the same Method object, but it doesn't rule it out either.
thats how the world works
if the player puts one ladder , three will be put
dont lost your time, he will disturb more and more
I know how that type of people are
I'm sure that answer is sarcastic 😂
I supouse haha
So... what's so hard about doing that yourself? Would be a great learning experience, and you could just ask if you're stuck on something...
But i will wait Imajin to see how he make the plugin in 5 seconds
Azul Zulu 1.6 calls ReflectionFactory#copyField rather explicitly. It is fair to assume that other implementations will do it too
Let's see how SSVM implements that method...
we not gonna believe in your server blowin up and becoming rich cause we made a free plugin
we want fair pay, and if you want to pay go to services
?services
If you wish to request or offer development/art/building/administration services, please do so at https://www.spigotmc.org/forums/services-recruitment-v2.54/
hes not in the server
ok
eh im not trusting it
Thanks!!!
dang
i miss him already
loved trolling
getting his hopes up
if its that, then its simple
hahahaha
ill just reverse the md5 hash
starting my own server partly gave me motivation to learn coding
i had no money but i wasn’t begging people
i think its a good approach to certain things in life
can’t get it? do it yourself
Agree with you retrooper, thats how i started coding
okay - it does not seem to explicitly implement that method - so it depends on the bootstrap JVM
Object#finalize
then crying when it doesnt get called
Just disregard that it is deprecated
yes i really like that, because you make me learn more than my english classes hwich i used to go
yeah it's only called once it is GC'd which can take ages
i believe so
lets go to general
Having an error using the remapped-mojang spigot dependency, trying some stuff with tags n stuff but im having this error when trying to load the plugin
you arent remapping
what do u mean im not remapping?
you dont have the special source plugin
What build system are you using?
im using maven
?nms get the info off here and change the version, specifically the special source
up to that plugin to handle it
yea, but it handles it properly when text is inputted by hand
its behaviour changes then you press up arrow
Hello everyone,
I'm talking to very crazy people who are still coding in 1.8, do you know how to create a BossBar (API, packets, ...) ?
spawn a packet level dragon in a void
or a wither
and make it trace player's X and Z coordinates
Is that a command you wrote?
there are plenty of API's that does this
but is this really nice to do that ? bc people may see it ? or hear it ?
Can you share the auto-completer?
I tested some of these, but not any of them worked
there are no bossbar packets
could just update
on 1.8
you gotta spawn a wither (client-sided or not)
usually people make it invisible
that's what i already said
it'll draw particles regardless as those are client-sided
Okay, that's unfortunate... but thx
I tried it, and doesn't work because the Color enum is "Unfoundable"
Not sure what you mean by that, but it's gonna be hard to judge without any code.
thisi s what trie is
its a tree of nodes with character values
except mine is primtive and does not compress multiple characters in one leaf
?paste
https://paste.md-5.net/akipuxayev.java here's my current unfinished impl of that struct
Unfoundable? xDD. Show us an error.
Bossbars in 1.8 cannot be colored
the only color that exists is purple
in 1.9 colored bossbars were introduced
with proper decoupling from the entities
Oh, right, I was more about the overridden List<String> tabComplete(@NotNull CommandSender sender, @NotNull String alias, @NotNull String[] args), as it just seems like you don't handle that as it's intended.
ohh that's why
put all of that into my pom.xml still having the same error tho
it doesnt matter
it wont work
in this version anyways
It will work, just not as intended, xD. I'm sure the API will just fall back on using no color at all.
1.8 makes me so nostalgic ngl
Let's not even get me started about 1.7.10, xDD
Back when they actually were supported, you mean? xDD
good times but hard to work on
its not possible to do it anymore?
Has been a long time, but I don't think so. You get one response per ServerListPing, the channel is not being kept open anymore, IIRC.
"SeCuriTy ReaSonS"
Even tho i now imported the specialsource plugin i am still getting this error, anyone that can help?
I was just getting at the animations
So does anyone know how to dodge this "Caused by: java.lang.NoClassDefFoundError: org/inventivetalent/bossbar/BossBarAPI$Color" ?
Yes, include the lib into your plugin
shade the classes
I already put it in my external jars
that only allows you to compile
Are you in a maven project?
you need to manually add the API classes to your project
or use maven shading plugin
to do that for you
No, I'm on eclipse '-'
or use gradle shadowJar (but im 100% sure youre not using that)
?paste
this is my pom.xml
https://paste.md-5.net/ezovidewoq.xml
where do I found them ?
I remember seeing an active 1.5 server back when 1.12 came out
The library is not that big, in your case I'd just literally copy the files into the src directory, remove the dependency and migrate import statements.
I'm pretty sure eclipse supports maven, as eclipse is an IDE and maven is just another development tool.
However, if you aren't using it, then somewhere in eclipse you'll have to add the dependencies manually.
Oh yea, is that the "new" github ide?
I tried, but still have the same issue
in my external jars ?
Probably. I use IntelliJ and It's been years since I last used eclipse.
I already put my jar of the API here, but I've got the issue sent before
You likely didn't remove the bossbar API as a dependency, which would then have told you about all import statements that you'd need to migrate.
Eclipse does not support shading.
Use maven, which does support shading
If you REALLY want to stick with Eclipse JDT compilation you either need to whack the classes in the resources folder (how dare you?) or copy the library sources in the source folder
But this API is using some weird imports, that needs the jar file, so I don't know how to change the imports...
remove the dependency
I did it
Send some screenshots of your dependencies.
Just take the easy route and whack the compiled classes in the resource folder
Which weird imports are we talking about? Could you show an example? You probably need to use craftbukkit instead of just the bukkit API as a dependency. To be honest, your life could be a lot easier if you'd just create a maven project and let those transitive dependencies be resolved for you.
It's absurdly stupid but sometimes one needs stupidity
this is one of them
I meant your external jar dependencies.
Well, looking at that, you don't have the API as a dependency.
is there a way to get the title of an Inventory?
BlvckBytes told me to remove it
Just delete BossBarPlugin.java if you're inlining everything... otherwise, load the jar as a Plugin to add the classes to your classpath.
InventoryView#getTitle()
https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/inventory/InventoryView.html#getTitle()
We were talking about "shading" manually, xDD
Tbh, I'd just load the plugin, xD
how do I get the inventoryview of an inventory?
Why would I delete this file ? What would it do ? I don't see the link between this =, bc i will have more dependency issues ?
Normally through one of the Inventory events. InventoryClickEvent#getView()
like I created an inventory using Bukkit.createInventory
Myeah, shading manually isn't all too hard if you just unzip the jar and add all the .class files into the source folder
no I mean before I show it, like when I just created it
Oh. I don't know if that's possible. Ever since the change to inventory views we were kinda forced to use the events to get them.
thats kinda stupid
I've returned
since I have to provide a title when creating the inventory itself
The file is basically acting as a minimal plugin to provide the API at runtime. You could just download the BossbarAPI-plugin and load it, while you add it as a dependency to your plugin's plugin.yml.
who will write the plugin)? please
@quaint mantle he did it again
he spent 3 hours here earlier begging for a plugin '
I dont read russian
english only server
sorry
the plugin is lightweight . the player puts one ladder , instead of one , three are put
but by adding in my external jars this jar, doesn't it do it automatically ?
You still need to put it into your plugins folder, if you want to access it...
The point of adding external jars in your project is so that you can use the code it provides. Your IDE has no context of what the API is otherwise.
It is strictly for the IDE.
who will write the plugin&
?
easy plugin
plis
the plugin is lightweight . the player puts one ladder , instead of one , three are put
LMAO
?services
If you wish to request or offer development/art/building/administration services, please do so at https://www.spigotmc.org/forums/services-recruitment-v2.54/
I'm sorry if I bother you, but I really don't understand how this API is working, I try my best, but I can't get it...
Pointless
I have Russian currency
What do you want me to do? Not point them in the right direction? :/
Nah, I'm just saying he is here since 5 pm begging for free stuff
Being sent in that direction multiple times
I write you a free plugin if you resolve my issue
lmao
which?
this one
I'll write your plugin if you pay me
10 dollars an hour is my rate
:P I've fully switched to gradle now
Just revert to what you had with the ClassNotFoundException and add the BossBarAPI plugin to your server's plugins folder. Then add a depends: [BossBarAPI] to your plugin.yml and you're good to go. I think this will be the quickest route out of this.
all my new projects are gradle
WOOOOO
Is there a recommended free embedded nosql database for small plugins to store data with?
you have an easy mistake , write to the dms
Using gradle = mistake
don't dm me
😂
guess im a mistake
No plugin assigned.
Me2 fr
I think its pretty good, 🤷🏽♂️
Here's the breakdown.
Your IDE is what you use to write code. By default it only knows of the features that the language provides. In this case it's Java.
If you want to write code using an API, you need to import it into the IDE. Otherwise, you will write code that the IDE cannot make sense of.
How you import it depends on your project setup. The old fashioned way is like you are currently doing now. Manually importing dependencies via the external jar window. As long as you have a jar available to you, then you'll be able to use those APIs.
The newer approach is to use a dependency management tool like maven to download the source files for you and automatically import them into your project.
In your case, you need to add the API as a project dependency so that you can use the code and then also make an entry in your plugin.yml letting the server know that you need that dependency to also be on the server.
If you switch to maven, you'll have the ability to shade that API into the plugin itself so that you don't need to put that dependency on the server.
im slowly converting everyone
I have no like elitist allegiance to any specific build tool
(new EventListener(this));
I just think its good to know everything
wtf are you even talking about xD
y2k do you think its easier to write
not really I personally really like xml format
it makes sense to me
plus I had IDE tools for tags and such with xml to be easy
you arent lazy enough
but that's just a VSCode thing
You say that like VSCode is the only thing that can do that
I'm aware, but I'm not sure if IntelliJ has those extensions
I don't use it
I'm not sure of the extent it makes writing and editing XML easy
you probably didn't shade it
Or it's not present on the server.
I understand more, but I don't know how to go on maven now...
you don't have a plugin assigned
you don't have a plugin assigned
Is there a free embedded nosql database that people commonly use in small plugins
SQLite
you have no clue what you are talking about
Oh wait
wdym by shading ? changed imports ?
nosql?
Idk if No SQL has many serverless options
how is it possible, I've got it on my plugins folder
wdym ?
Mongo isn't embedded though.
you can ignore stevet, hes just begging for a plugin
oh I'll just block then
who will write me a plugin please
I just need something that doesn't run separately and can handle data for me
Oh, did you put it as a dependency in the plugin.yml?
JSON I guess though thats not a DB
stop asking, no one here is going to do it for you
Can you show me what that looks like?
the more he asks the more I don't want to help
name: EEM
api: 1.8.9
version: 0.0.1
author: Plheyer
api-version: 1.8.9
main: fr.plheyer.eem.Main
depends: [BossBarAPI]
api version is wrong
1.8 doesn't have api version you can remove that
you also don't need the api field at all
okay thx
only needs 1.8 and that field doesnt exist until 1.13
Eh, it's harmless either way.
without this field, there's an error
Yeah that's how I've been storing my stuff with my own implementation but I want to switch to something official
who will write me a plugin please
bruh
@quaint mantle wake up
?services
If you wish to request or offer development/art/building/administration services, please do so at https://www.spigotmc.org/forums/services-recruitment-v2.54/
fourteen you are late
what
we have all told them to go there
or the forums to ask for it for free
he does not listen
depends should be singular. depend
who will write me a plugin please
ironically some services people do small plugins for free
so if they had the braincells too look
they'd find what they want
xD
ok thx, but I've got the same issue
You're sure that you have the same version of that dependency on the server as well? Mismatched dependencies can also cause issues like this.
https://paste.md-5.net/uwaluhazoq.cs
If that doesn't help you, nothing will.
Yep sure, by coding in 1.8.8, I really know my version
Fair enough.
is it a plugin?
lmao
Do you have two working hands to make the rest happen?
I 'm not a programmer . in Russia, no one can
To clear up what you have now. Have you added the dependency to the project again? So that the IDE recognizes the code.
I'm pretty sure someone in Russia can code
Da
^
Yes, I've got two external jars, spigot 1.8.8 and this API
did you say you already tried this yourself?
Wondering what the next excuse will be.
he doesnt have a computer
No one in Russia have
Is Tsoding a joke to you? xDD
is this for me? thanks
smh block bytes
Hmm. It should be working at this point. Since you have the dependency for the IDE, you also put it on the server, and you marked it as a dependency in the plugin.yml, I'm running out of ideas why it wouldn't be working.
is this a plugin for me?
XD
The error says "org/inventivetalent/apihelper/API", so do I need to add this API too ?
Does the BossBarAPI have any dependencies itself?
How do I know ?
lul my pc thinks its malware
Check the page that you got it from. If it's on spigot then normally it tell you somewhere on it.
More likely discord, discord doesn't like jars
or your browser
poor java
well its more like you can put anything you wnat in a .jar basically
same thing for exe
He's not using maven. We going old school dependency management.
nostalgic :)
Omg, you need to go through adfly to download this API?
If that's actually loaded on the server, you shouldn't have any other issues tho
What did the stacktrace look like?
In the error message ?
Yeah
It's just here
You gotta be shitting me
the plugin does not work
Is it just me or does clicking on a really old reply not take you to the right place anymore?
been a thing for a while
not just you
never worked in the first place
takes me like halfways
Damn, I remember it working well at one point. That sucks.
Can you share the jar you downloaded? I'm not willing to give them money.
Works perfect in the browser, xDD.
the plugin does not work
You don't work
what
I can't wait for his PC to explode can't believe he ran that jar 😂
Funny, the class it's complaining about is actually in there.
I decompiled the jar - I am afraid that the jar is rather mundane
It would be too easy...
who will write me a plugin please?
Could you try restarting your server instead of reloading? That seems so weird. I'm gonna try loading that jar myself real quick too.
Loads just fine for me
yep that's better
But I got the same issues than before
Cringe version detected
Show plugin.yml
Do you use the maven shade plugin?
Nah, this is manual dependency management.
Ah yeah probably didnt tepend on the api
uh oh manual stuff
Wait but the class is loaded on the classpath way earlier...
does java have a null safe equals ignore case or i need to make one myself
name: EEM
api: 1.8.9
version: 0.0.1
author: Plheyer
main: fr.plheyer.eem.Main
depend: [BossBarAPI]
no.
i would've guessed so but i didnt want to provide wrong info
I only think its null safe for the argument?
Uhm
assuming he did not mean null.equalsIgnoreCase 🤔
well that is the whole point of null safety
what else lol
Make sure you dont copy the BossBarAPI artifact into your own plugin.
Same as you would do for SpigotAPI
exactly.
Well you never know xD
How can I don't copy it ?
null.*() Doesn't work in java, so... well, I didn't think that this question was even an option
x.equals(null) | x != null should never throw
im thinking of the one billion dollar mistake now
Cannot invoke "String.equalsIgnoreCase(String)" because the return value of blah blah is null
Probably the string is null yeah
i guess ill just use this
You could also use string != null && string.equalsIgnoreCase(smth)
I've just seen I've got the problem even at the first launch, when I stop and start the local server
Ah, just switch to kotlin and use optional chaining, LOL
^^
Of course that wasn't meant seriously, xD. But you just cannot call a member of null in java, that's not gonna change.
#general
no
I’m helicopters 🚁
ok
:cring:
Helicopter - helicopter 🚁
are you over the age of 13
No
ban();
Lmao gotem. @quaint mantle
clearly no english
discord doesnt like being below 13
I am 16 years old
Cool, i speak German, Croatian, english and a little bit of russian. What does that have to do with my age?
prove
In North korea it's 18 even
Ты говоришь на Русском?
english only
Sorry
The dont have discord there, have they?
You speak Russian?
A little bit, started learning it half a year ago
That of course is the other question
discord north korean edition ™️
Mostly understand it, not speak it xD
elon musk should give them some starlinks
Whom?
The North Koreans
I don't think that is going to help all that much
for sure
Ah XD i thought you meant the russian guy and was about to raise a brow...
You love Ukraine?
uh oh
Let's not bring politics in here.
?
Yes
Several people are typing
you can love different things than politics, nature, cities, people
Pretty much everyone in the civilised world roots for Ukraine at the moment...
I’m not speak politics
If i say I love my country I'd 1. lie and 2. probably be called a nazi, so yeah
wtf is wrong with bukkits arguments: i get trailing spaces with arguments
oh I LOVE germany. It has such a broken education system
Args!! [, , , , , version, , , ]
Are you all coders here? From the age of 12, everyone has been taught
I dont love any country. I even think the concept of countries is trash and holds us back as a human race.
?
what have we started
Don't blame me - okay
Yeah exactly, and research is also on top 😄 Our technology is evolving back wards as another +
I attempted to stop it
I told you it's about the handler, xDD
you tried to avoid it but miserably failed
its not my handler at fault
In a way true
I dont love any country I even think the
its bukkit that handles arguments weirdly
why tf trailing spaces are not removed
when arguments array is passed into command executor lmao
[, , , , , version, , , ]
Who can help with the plugin?
this is literally the output of the retrieved arguments from the bukkit api
How to make a plugin to the region, only the region will be a cabinet?
Let me guess, 3 ladders instead of one?
it evolved into regions now
What?
evolution
I’m taking the plugin to the region and changing the config
Wrong guy
OMG I did it it works 😭 (for some curious, I had to copy all of the APIHelper files to make the BossBarAPI works)
goofy
im confusing people now
I want to sleep
i thought bukkit api was smarter than that
sleep is for the weak
at least i thought it would sanitize the args
What version are you on?
Doesn't do that for me on 1.17
maybe its paper
...
I didn’t sleep at all
productive day 🫡
i saw some patch from paper regarding the args
Not one of those again, xD
paper recently broke a ton of plugins
Test on spigot, run of paper, if you want to
But never call bukkit stupid for their fuckups
You still called bukkit stupid, not craftbukkit, xD
F
well bukkit can independently sanitize the inputs
i knew something was up with paper
i should actually rename my submodule to paper
since its not bukkit impl but paper one
💀
not bad 🙂
for some reason spigot does not wanna compile java 17 for me, only java 19... any help? (maven)
Show us the error
I described that wrong
I build my project but it keeps making the class files version 63
is gson broken or something?
I need 61
change version in pom and in ij project settings
I have done it
in my pom
<properties>
<java.version>17</java.version>
<compilerVersion>17</compilerVersion>
<source>17</source>
<target>17</target>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
</properties>
Ah. Ok you need to change your compiler at 2 places.
- Your pom.xml
- File -> Project Structure -> Project -> SDK
well i can't send pictures here but in my intellij I have sdk set to a 17 version
Alright, how do you compile?
maven > package
try clean before that
is there an easy way to check the version of a file
Not that im aware of... Probably while compiling with some logger flag
i can't test if it works until my friend comes back cuz my java is 19 it works fine
i didn't try cleaning beforehand
javap?
How do you fix Overlapping resources
With a replacement strategy. But why do you have overlapping resources?
what's an easy way to remember the command to turn a jar into a maven repo
put it in a txt file
Do you mean a warning produced by maven?
that is rather odd
Probably shading another resource which has the same resources? Like a plugin.yml
There is no plugin.yml
Well then just add a replacement strategy and replace duplicates
How do you do that?
chatgpt moment
java.lang.LinkageError: loader constraint violation in interface itable initialization for class com.google.gson.internal.Excluder: when selecting method 'com.google.gson.TypeAdapter com.google.gson.TypeAdapterFactory.create(com.google.gson.Gson, com.google.gson.reflect.TypeToken)' the class loader 'app' for super interface com.google.gson.TypeAdapterFactory, and the class loader me.rian.run.ClassLoader @68267da0 of the selected method's class, com.google.gson.internal.Excluder have different Class objects for the type com.google.gson.Gson used in the signature (com.google.gson.TypeAdapterFactory is in unnamed module of loader 'app'; com.google.gson.internal.Excluder is in unnamed module of loader me.rian.run.proxy.ClassLoader @68267da0, parent loader 'app')
at com.google.gson.GsonBuilder.<init>(GsonBuilder.java:69)
at net.minecraft.server.v1_8_R3.UserCache.<init>(UserCache.java:66)
at net.minecraft.server.v1_8_R3.MinecraftServer.<init>(MinecraftServer.java:132)
at net.minecraft.server.v1_8_R3.DedicatedServer.<init>(DedicatedServer.java:43)
at net.minecraft.server.v1_8_R3.MinecraftServer.main(MinecraftServer.java:923)
at org.bukkit.craftbukkit.Main.main(Main.java:193)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
``` This is what I get when I run it
what the fricking hell did you do
You need to relocate your Gson dependency
looks like he included Gson
relocate it where?
Yeah - looks like version incompatibilities
somewhere - but not the default
Inside your jar. Maven shade plugin -> relocation
how do you put spaces in file path maven commands
"path to file"
I thought it was just wrapping it in quotations but it seems to think that the quotes are part of the directory as well
I don't see that
I see resources
why not just use hte spigot built in gson?
isn't that avaliable inside of spigot itself
This isn't a minecraft plugin
oh
looks like a CraftBukkit plugin to me
Nope
it already has Gson, so unless you NEED somethign in a newer Gson just set your Gson dependency to provided
so instead to relocate i just do that?
when i do quotes it thinks it's relative to my current project path for some reason
without quotes it's absolute but I cannot put a space
@eternal oxide Trivial setups work fine with the approach we came up with 
nice
i'm doing -Dfile="..." should I be doing -"Dfile=..." or something
Who know api 1.12.2?
me
Give plugin pliiiiiss
Help plis
with what
Dm’s go?
lol
'build.plugins.plugin.(groupId:artifactId)' must be unique but found duplicate declaration of plugin org.apache.maven.plugins:maven-shade-plugin @ line 121, column 21
It is highly recommended to fix these problems because they threaten the stability of your build.
For this reason, future Maven versions might no longer support building such malformed projects.
what?
u can just ask it 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!
it is unique
i'm a 1.8.9 expert and 1.12.2 pro...
you define multiple shade plugins in your pom
you should only have one
Help me write a plugin
okay
Because of the updates, the api has changed, right?
relocating thing made it so now it says no main manifest attributes
1.8 api is pretty close to 1.12
1.13 is when u start having to actually rework stuff
Plugin on the cabinet:
A cabinet with tools is a key part of the house. Without it, the building will rot, it rots differently, the foundation (hay) rots in 30 minutes (if without a cabinet)
Wood, (boards) in 2 hours (without a cabinet)
Stone (bullery) in 4 hours
Metal (iron blocks)
8 hours
Mvk (obsidian) 15 hours
Installation and authorization in the cabinet will make sure that only you can be built within a radius of 50 meters. If you want to give access to your friends, they should log in too. You have to protect this cabinet. You need to put resources in the closet if the house is made of stone per day
If the hut is stone + iron, then also, iron + stone
If they don’t put resources for food at home, the house will rot in 48 hours
So rust tool cupboard?
You can put in the closet:
Wood, Stone, Metal fragments, iron (not melt) sulfur (melt) sulfur (non-melt) mvk (melt) mvk (not melt) scrapp, oil, animal fat, bones, fabric, tnc, coal
Yes
It’s like a region
The customer was hoping for me. And I didn’t work with 1.12.2 and found out about it later ..
How to write such a thing at all, I have no idea
I think you’ll help, Russians are not as smart as you
Help plis
Please
I'm still getting this after relocating gson
Help
do u have a specific question or are u just asking how to make this
I’m asking how to do
have you ever written a plugin before?
So I relocated the gson and common but the error is still occurring
Yes
Well what you're asking is more just java coding logic and not api
Can you make it for me? Just a question, if not, then no
?services
If you wish to request or offer development/art/building/administration services, please do so at https://www.spigotmc.org/forums/services-recruitment-v2.54/
100 buck i make
hi, how can i import worldedit 6.1.9 api in maven?
This error is mad confusing
Doing this made it can't find Gson aused by: java.lang.ClassNotFoundException: com.google.gson.GsonBuilder at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520) ... 7 more
Nope
?paste your pom
Ouch... thats a first
ooh
Hey, does anyone know how with ProtocolLib I can make a block have a glowing effect for a specific player ?
Yes i have a utility method for that. One moment.
Love you ! 😭
your pom and your error don't make a lot of sense, Your errors show Minecraft and CraftBukkit in teh stack trace, but your pom has no reference to CB at all
I'm running a server jar along side the program
Thats why there is a minecraft and craft bukkit trace
yes but for your Gson to conflict you must be using the same classLoader. So you are loading Bukkti or Bukkit is loading your program
Yea
Usage:
Player player = ...
Block block = ...
int durationTicks = 20;
ChatColor color = ChatColor.GREEN;
UtilBlock.sendGlowingBlock(player, block, durationTicks, color);
https://gist.github.com/Flo0/3020ede8f4efd10783b672aa278df2d8
@thorn crypt
so what are you trying to say here?
Thank you ! I'll try that 😄
With the small amount of information we have I don't see a reason for yoru Gson conflict
Want me to show you my classloader?
you are class loading Bukkit?
@eternal oxide Hello, I'm trying again with BuildTools, but I'm looking for the error
I think that is something in git
But idk
Can I show you my error?
When I run it?