#dev-general
1 messages ยท Page 273 of 1
Wait what, is that in the wiki? o.O
yeah
lmao

Lmao when did i add that
Apparently only one
oh good
that's what I needed
man my methods are so much smaller now.
well 4 lines smaller but still
xD
better than 4 lines bigger
damn this update will make my files be half the size they were before
how long were your permission checks lmao
instead of just having a Player parameter I had a String and checking if the palyer is online or not and then getting the player
not the perms checks but I had a check for them if (!sender.hasPermission("")) { noPerm.msg(sender) return } this is how it used to be
now its just an anotation
also not half because of just the perms
I'm somewhat rewriting it
how would i detect which player is the driver of a boat?
oh nice
d; spigot Boat#getPassenger
@Nullable @Deprecated
Entity getPassenger()```
entities may have multiple passengers, use getPassengers()
Gets the primary passenger of a vehicle. For vehicles that could have multiple passengers, this will only return the primary passenger.
an entity
passengers Yugi
but he wants to see if he's the one driving
@Deprecated ๐
or the one in back
He wants the primary one
oh and getPassenger gets the primary one? nice
getPassenger returns the primary one
I think they only meant that to highlight the other method
just found out that getPassengers returns list and first element is driver
so ill just use that
yea im suyre
Ah
but yea that is likely a better approach given that it is deprecated
man my main class is so much cleaner. I love it
commands in main class ๐ฌ
damn
val Boat.driver = passengers.first()
or firstOrNull in case the boat has no passengers
yes
firstOrNull / getOrNull is one of my favorite things
not mine
I hate nulls. because I got roasted by BM for using nulls
lmao
in Kotlin I mean
I have a random teleport plugin and I had a checkLocationSafety method or something like that. or getNearLocation actually. where if the location it found was not safe it would search around and if it wouldn't find one at all it would return null. if it did then it would return the Location
well that's one of the use
I've used it like that a few times
I don't think he did suggest anything. it was about how Kotlin its suppose to be null free or something like that. idk. I mean I still use that kinda stuff but.. I gotta say I hate it so BM doesn't kill me
xD
that seems almost backwards. kotlin is a null-safe language specifically so you know things like when it returns null, making it safer to do things like that
So i apply armor stand to players passenger on join and set it to invisible but when the player logs in near someone else, for that someone else it shows the armor stand, any ideas why?
ah yeah null safe is what he said I think idk. I mean I didn't really paid attention I think I was doing something else
if the players move out of render distance, when they come back close it make stand invisible
i think its just some weird client bug
but idk
and I should've probably paid more attention because usually BM doesn't give bad advices. and I am going to bold usually lmao
@static zealot you're supposed to use null in Kotlin
What is frowned upon is making types nullable where they don't need to be
as I said I should've probably paid more attention to what he said lmao.
As James explained nulls are actually a good way to represent "missing data" in kotlin since it's safe in contrast to java
hmm
is it ok if I do kt if (something.value == null) return ... code here ... something.value!!.doSomething()? Like I know it will work but is that bad as in not conventional or something? Should I just assign it to a variable instead?
like I don't use it for anything else and I guess I'll move the check right before I do the code because I can xD
no that's not idiomatic
If you access something twice, variable that bad boy
what you'd do is something like this
something.value?.doSomething() ?: return
yeah I can't really do that because I've represented it wrong. its doSomething(something.value)
and I can't use ? inside
use let
I'll just make it a variable
something.value?.let { doSomething(it) }
oh I guess that looks nicer
?
Add a space in front of {
damn this class went from 124 lines to 58
how do you know its a boy
what if its
an attack helicopter?
Oh shit
but I'm ok with people calling me a he
ive been calling you wrong
yeah I don't mind it
yes. that's how I take it
Wha?
li is an asian name
li is a Chinese name
well
Not an Asian name
ah
Just heard this so, my official response is
You talk a lot of shit for a dude within ||cumshot|| distance
o

is that the shot?
My response when a professor says something dumb next time
yes let me just use jd-gui to edit DMenus for 50$
Mobile discord can go suck a dick
It doesn't even show which message it's linking to anymore..
Fat dick
lol
i cant figure out how to push to github
from ij
without creating a new repo
or overwriting my code

eh
wut
git commit git push?
master has no tracked branch
thats when you run git push?
sounds like you haven't set your upstream branch
which you would know if you used the cli 
Did you add the remote?
Hey dkim19375,
Safety Jim here! It appears that the token for your bot, UniG0 has been posted to the internet. Luckily, our token-scanning gremlins noticed, and have reset your bot's token - hopefully before anyone could have maliciously used it!
Your token was found here: https://github.com/dkim19375/UniG0/blob/0738516ddc9365bf301665ee157db20887c88335/options.properties
Be more careful in the future, and make sure to not accidentally upload your token publicly!
Obtain a New Bot Token: https://discord.com/developers/applications/802290048896073779/bot
welp i pushed it
Integrate your service with Discord โ whether it's a bot or a game or whatever your wildest imagination can come up with.
๐ฅฒ
yea they are really quick
hmm. how would I make a random id generator. like what would be the best way? right now I just use (min..max).random() until I find an ID that doesn't exist but that seems not very good xD
UUID#randomUUID() ๐
bruh whyd it ping
i turned it off
your way is prob the best tbh
hello i'm looking for a mod that could shrink me , i'm willing to pay
(min..max).filter { !it.exists }.random()
try #794429922454142986 please. thanks
oh ok ty
no efe
ew
efe
just use .random()
you know kotlin has better things for that right?
efe
oh does it have random?
didn't know that
ok
hmm kotlin has a mutableListOf(int..int) right? hopefully. time to see
yep it does
if im not mistaken that will just return a List<IntRange> or something
does it need to be random?
yeah but if you use .random on that James it gives you an int from the list
i think it would give you a random int range
I mean it looks nicer I guess. because I'm doing 1000..9999
but it does not have to be random
Id say just go for incrementing IDs
you see the problem is ids expire. so then I just go back to old ids?
hmm
it would look a bit bad I guess if there are multiple ids
i think random is nice
and they are like 3000, 3001, 3002, 1002, 3004, 3005
but when its like 9942, 2145, 2512, 1103, 4566 etc.
?
blitz
yes?
if you do ids.random() it reuturns an IntRange
the list contains a range
you aren't doing ids.random()
Youd need
(midId..maxId).toMutableList()
I see. thank you
your best bet is (min..max).filter { !it.exists() }.random() which is valid and will return an int
I like ktor's documentation, would you like to see the kotlin example or the kotlin one?
I think I'll take the third one (Kotlin)
In other news, i managed to get a response from the ktor backend
Just need to figure how to do logins kek
in java is there any way to make a method accessible only from inside the project itself?
๐ฆ
reflection haha
if (statement) {
//things
}``` or ```java
if (statement)
{
//things
}```
1
I picked 1 too, i think it's more formatted than the 2nd, while most dev I know used the 2nd
I've seen quite some people here use the allman or whatever style its called
Someone shoot me please, as soon as I update ktor auto reload breaks .-.
@ brister mitten
allman just seems like so many unnecessary lines. i tried it for about 2 weeks and couldn't get used to it
Fuck it, i don't need auto reload
Is there any "YamlConfiguration"-like library?
snakeyml
its either the same or bukkit is like forked from or based off of it
or triumph config
๐
oh i didn't see that

I mean YamlConfiguration uses snakeyaml
String document = "\n- Hesperiidae\n- Papilionidae\n- Apatelodidae\n- Epiplemidae";
uh
This is closing into brainfuck territory ๐ฅฒ
i thought snakeyml put newlines for me
Is that comicsans?
my toe hurts
Which?
font
Omg that is definitely comicsans
Exams in 6 hours
Why are you using raw snakeyaml?
"idk", why do i even ask lol
....
I'm literally just looking on the wiki
I didn't even know it was raw snakeyaml
;-;
Talking about your replies lol
And i mean by raw snakeyaml is because YamlConfiguration uses snakeyaml
Talking about your replies lol
I answered "idk" because... I didn't know that I was using raw snakeyaml
And i mean by raw snakeyaml is because YamlConfiguration uses snakeyaml
well I need to make my own smaller version of YamlConfiguration, but i need to know how to make that
So I have no idea what to do ๐ซ
xD
Huh?
๐
triumph config
Are you working on a plugin or external application?
second one
Was saying that you use it a lot
"me.mattstudios:triumph-config:1.0.1-SNAPSHOT"
https://github.com/TriumphTeam/config its not documented yet but its not hard to use
oooo
basically you make something like
private val discordFile = File(plugin.dataFolder, "discord.yml")
val discord = SettingsManager.from(discordFile).configurationData(DiscordBot::class.java).create()
``` then register it and it just works 
oh wait I completely forgot about TriumphConfig. I should switch
copy and paste this code. and there we go we have minecraft
Its a configme fork
It is ConfigMe lol
^
ah nvm then
you don;t
Is this... it?
yes
thats a lot of code
you make a class with your config stuff
then use the SettingsManagerBuilder
and then you call like blah.getProperty(Blah.SOME_PROPERTY)
or you can read the ConfigMe documentation which is more detailed and then check what the differences are
๐ฆ
wheres the maven repo?
"me.mattstudios:triumph-config:1.0.1-SNAPSHOT"
repo
probably central
1.0.5-SNAPSHOT
It isn't on central
ah
whats it on ._.
maven { url = 'https://repo.mattstudios.me/artifactory/public' } pretty sure its that
damn the difference ๐ฆ https://i.imgur.com/fa2octA.png https://i.imgur.com/DdLYTBZ.png
oh is it not on mavenCentral
not that i know of

Whats that from?
ah
is it possible to just make a put("path", "object")?
so that i dont need 100 methods?
No, you can't
โ
it uses generics
It's null safe, all properties must be declared
uhh what do you mean by "must be declared"?
@Path("path")
val CONFIG_VALUE = Property.create("object")
except you're using java probably (unless you've become a better person) so Property<Blah> instead of val
uh
What happens if it isnt?
probably wont be in the config lmao
In java, it's boilerplate galore
@Path("path")
public static final Property<String> CONFIG_VALUE = Property.create("object")
What about a missing key in config?
You need the property to be able to get the value from
Error on load?
If the key is missing it'll rewrite it as default
ah
Basically the key will never miss
On the create
Property.create
oh ok
The only time the key is not present is when it's optional or the yaml has wrong syntax so it'll error
ah
ah I thought it erros as well
nope
so you should make one
SettingsManager blah = SettingsManager.from(file).configurationData(Blah.class).create()
then you can just call SettingsManager#getProperty(blah)
In java settingsManager.get(Property.PROPERTY) in kotlin settingsManager[Property.PROPERTY]
wait what?
why do I use get if I can use [] or is that just in your library?
in the .configurationData(Blah.class) what class do I put in?
the class that contains your data
the one with @Path?
it will implement settingsholder
yeah
yea
Yeah turned into an operator function
ah so its yours only. k then
public class YamlFile implements SettingsHolder {
@Path("text")
Property<String> property = Property.create("value");
public String getText() {
SettingsManager manager = SettingsManager.from(new File("config.yml")).configurationData(YamlFile.class).create();
return manager.get(property);
}
}
```like this?
no
oh
Make it public static final
and delcare the SettingsManager only once
Yes
And the setting manager goes in your main class
Or where you want to access it from, not in the holder
no the manager shouldn't be static
Huh? You mean the settings manager? Then no
ok
I should check the migration features from ConfigMe because I've never used them. I just redid the entire config from scratch and its getting kinda annoying
but my main class only has public static void main
so id have to make an instance
of the class
yes
or can I just make an instance of the manager in other classes?
psvm is just a global entry point to your application
public static void main
Multiple instances of your main class...?
no
multiple instances of SettingsManager
public static void main(args) {
new Application();
}
Now your application doesn't need any static
but
?
is there anything bad in having multiple SettingsManager instances?
Yes
oh
why would you have multiple?
just make one
:C
then reloading and stuff will work
im wondering how guice works
Why would you have multiple?
im going through changing all of my blah.getProperty(blah) to blah[blah]
its gonna be a long night lmao
i made a media library
public String getResourcepackUrlYoutube(final String youtubeUrl, final String directory, final int port) {
YoutubeExtraction extraction = new YoutubeExtraction(youtubeUrl, directory);
extraction.downloadVideo();
extraction.extractAudio();
ResourcepackWrapper wrapper = new ResourcepackWrapper.ResourcepackWrapperBuilder()
.setAudio(extraction.getAudio())
.setDescription("Youtube Video: " + extraction.getVideoTitle())
.setPath(directory)
.setPackFormat(6)
.createResourcepackHostingProvider(library);
wrapper.buildResourcePack();
HttpDaemonProvider hosting = new HttpDaemonProvider(directory, port);
hosting.startServer();
return hosting.generateUrl(Paths.get(directory));
}
public void displayImage(final int map, final File image) throws IOException {
BufferedImage bi = ImageIO.read(image);
ImageMap imageMap = new ImageMap.ImageMapBuilder()
.setMap(map)
.setViewers(getOnlinePlayerUUIDs())
.setWidth(bi.getWidth())
.setHeight(bi.getHeight())
.createImageMap(library);
imageMap.drawImage();
}
Does that look clean
The lack of final ๐ฉ
languages that are mutable by default ๐
you should be using static factories instead of public constructors
also Blah.BlahBuilder is redundantly verbose
Blah.Builder works fine

I love caffeine
me too ๐
If I /reload will my static variables reset?
Hmm in paper yes
But that shouldnโt most likely matter if youโre using static the way it is intended to be used I think
Anyway paper does some stuff with the ClassLoaders that makes sure the static stuff is reloaded or unloaded and then loaded rather
I don't think this completely answers my question
What part is left unanswered?
I believe that yes, you can assign something to the receipt book.
See this plugin, it receives the information from the recipes and cancels it.
Likewise, we can identify this and take action, right?
Seems that just calls /recipe take <player> * for when a player joins
That is the most disappointing snake oil I've ever seen xD
Forgot to set the limited crafting gamerule to false lmao
So, is it basically useless?
It doesn't prevent them from clicking the book
They will be able to, it's just that there will be nothing to see
I don't see any packet for showing the recipe book recipes, only for clicking discovered ones (basically only when "quick crafting")
So that would be a no :d unless that click fits your needs
What I want is the following:
The user will click on the book and nothing will happen (this is already done by the plugin)
But I need that when he clicks on the book, a command is executed, is this possible?
No
And with a custom jar as they say?
And with this one?
(I'm paying 60-80 $ to anyone who helps me with this)
I just started using vim
ohhh my god
it is soooooo goood
I don't know if I can go back to intellij now
for java?
Admins we have a troll
although, for some reason, the SPC command doesn't want to work
wut
are you serious
perhaps
lmao
I'm not just a java dev, so just using 1 application is very convenient
IntelliJ is an everything IDE :))
even tho intellij might be easier to develop with
vim has quite a big learning curve, but it's very efficient
yes I am sure vim is productive but literally nothing can beat IJ's convenience and qol
yeah tbf
all I need is syntax highlighting, javadoc viewing, and code completion
everything else I can do with terminal
sounds like a downgrade to me
I'm really turning into a linux user lol calling intellij bloat
ohhh I thought u mean the processor
I have been looking at i3 window stuff
looks pretty noice
yea it seems useful
I tried it once but couldn't get used to it
I was gonna say i3 + arch + vim is the elitist Linux environment
So intuitive โบ๏ธ
well it kinda is
quitting is just entering the internal vim command q!
q obv means quit
just getting out of insert mode, and getting into the command line is more buttons
but hitting ESC is very inconvenient, leaving the home keys
so I just remapped it to jk
yeah it makes some sense
But I don't understand how it can be more productive than IJ
lol
I have an extension that reminds me about missing shortcuts
And I still keep missing ๐ฅฒ
At a high score of 130 I think
๐ฅฒ
lol I use that too yugi
xD
I need to get that
Like I totally forgot I even had it before I saw the notification at bottom right one day
it was at like 97 at that point I think for debug or build or something
Ah yes
๐ฅฒ
I wanna get a stream deck just for macros
I have a macro that generates a markdown codeblock lol
bcs it sucks typing that on german keyboards
lol german keyboards
u probably have a ร button
yeร
nice nice
@prisma wave guess who is installing i3?
๐ฅฒ
๐
i3?
@hot hull this
@prisma wave look whats in the top right of that screen lol
a certain Vi Improved editor
Mr Robot
mhm
is that arch too
yep
My god
judging by the top left screenfetch
oh thats just from google
Oh lol
im still installing balena etcher lol
Right
once u get into the manjaro install disk tho, its like 5 mins
tf is with maps
Im running two instances of minecraft and theyre rendering at different speeds
spaghetti
Lemme check
Sheesh I have a feeling this gonna take a while
Shows barely any useful info
yo frosty can you check #placeholder-api
how come someone can do this but the minute i try and do any kind of animations with maps it bugs out
Install hwinfo
Not gonna be installing anything, wmic works just fine. (Need it to verify specs for a pc I'm picking up later)
These are the aprox specs: https://pcpartpicker.com/list/gbjQMv
So just wanna verify them when I get there
Questionable setup
Your 4head is questionable
I mean seriously, you can get a lot more out of 1.1k bucks
I'm not paying that much for it
Or is it used or something
Ok that's fine
My pc died so really don't have much leniency in being picky
Async entities
that doesnt sound cool looking nor quick to code
:))
You're buying it already set up? Because that cpu is very questionable, the 3600 is better and cheaper
Cant buy a cheaper win 10 key off internet?
Im not buying anything of this, I'm buying the entire thing for 400, I used pcpartpicker just to show the specs
mhm
And I don't have options when it comes to building it myself rn
This one will give me the option to upgrade "easily" in the future so that's nice
Nice Frosty :)
(it isn't even worth building it yourself rn, since parts are overpriced af, cpu is like 70โฌ, pcpartpicker says 200 lmao)
Yeah, that's why i thought it was weird you didn't go for 3600, but 400 is not a bad price for that
A deserved upgrade might I say
For yaml i prefer first one
ok
thx ๐
should I have a separate file for each server?
i could use yaml for that
i think
There's a bigger one, but <3
hello
does anyone know how to delete this
like
its a
linkvertise search bar on the bellow of my pc
screen
please someone help
How the fuck does one change language settings on windows 10
?
๐
Excuse me, I've never used win10 before so..
lol
How's everyone doing today?
Amazing
fine n u
In pain
lovely
Not so much in pain as I managed to get a basic response from OAuth2, but god this is killing me
Sounds horrifying
Oauth2, fun stuff
:moan:
Frosty sotp flexing
YESSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS_ _
Ah yes now I'm the one flexing lmao
go away
I FINALLY DID IT_ _
why are you runnin
OMG, i think i did it
good job
Just 4 hours and countless of google searches, nothing more
what is ur reaction to actually having a modern cpu with 64 bits
Pogggggerrrsss
looks nice boi @ocean quartz
bruh he is neon pink-purple
https://www.spigotmc.org/resources/deluxeasyncjoinleavemessage-fully-optimized-async-everything-open-source.88129/ - Conclure/DeluxeAsyncJoinLeaveMessage
no stop
lol
From Kotlin's docs, "let's make a class lowercase" lol
Ewwww
is that Ktor?
Yeah
interesting
Loving it so far, from what I was looking at how to do in Spring it was so complicated, in Ktor i did it in just a few lines
gotta learn how webhooks work uhh
link?
stonks
no
@steel heart I just got dmed https://github.com/Conclure/DeluxeAsyncJoinLeaveMessage/blob/master/src/main/java/me/conclure/wtf/FinalProUltimateDeluxeAsyncChatJoinMessagePluginImplFactoryAbstractCommonMainProviderBootstrapExecutorHandler.java and now I'm kinda concerned lol
https://www.spigotmc.org/resources/deluxeasyncjoinleavemessage-fully-optimized-async-everything-open-source.88129/ - Conclure/DeluxeAsyncJoinLeaveMessage
no idea how this got approved on Spigot lol
really?
im actually quite surprised lol
@NotNull @Nullable yeah because that's gonna work lol
yup
I bet someone's gonna come across this and actually think it's a legit plugin
I wanna know how tf you even managed to make this work
omfg it just took me like 10 attempts to transfer my domain to Cloudflare
lol
typical that on the attempt where I had ShareX open ready to post a screenshot it works lol
those are nice
also, while you guys are probably hosting sensible things like Jenkins, Nexus, mail maybe, etc. guess what I host
no clue
looks smooth
damn, I'm still left with a potato pc
my pocket money recently got increased to ยฃ20 a week, so I have more spending flexibility now lol
viola
probably gonna get myself a few DMCA takedown requests from those but hey ho, worth it
isnt a webhook just a post endpoint?
ye smtng like that
I just spent 30 minutes trying to figure out why my config saving things aren't working when I realized i was reloading and not saving ๐คฆ
Imagine forgetting the password of the router panel ๐
now i have to restart it p.p
arghhhh
Omg
My laptop just crashed as well
XD
Nothing is responding anymore :(
:((
Yikes
๐ฎ
did you backup the code
Yugi, ever done oauth with github?
Not yet, whats up?
Trying to figure out how the callback stuff works, if I authorize it'll work and take me to the website again, but if i click cancel it'll just refresh the page xD
refresh the authentication page or your webpage?
The authentication page
xD
Yup
I managed to get it to send to the page again, but it wouldn't pass through the backend so wouldn't have any error handling
wait, are you sure theres a cancel button?
This is what im seeing when I tried on a website
oh wait 1 sec
help i accidentally made a factorial function
it's not supposed to be a factorial
but it is
It should though 
I dont see it under web application flow in the documentation
Only device flow has that
Clicking cancel pings the url:
http://localhost:8080/login/github/?error=access_denied&error_description=The+user+has+denied+your+application+access.&error_uri=https%3A%2F%2Fdocs.github.com%2Fapps%2Fmanaging-oauth-apps%2Ftroubleshooting-authorization-request-errors%2F%23access-denied&state=509cc0e62bd7c41a
Ooh the issue here is /?
Yeah, removed it and nothing changed, though it's pinging this now, which should be correct
http://localhost:8080/login/github?error=access_denied..
Welp
Anyone done custom modelling with fishing rods before?
Does anyone have an itemStack serializer + deserializer like essentials (readable and easy to edit) (for YAML) like this: http://wiki.mc-ess.net/wiki/Command_Reference/Kits#Example
I know how to make one but it will take a long time and I'd rather use an existing library to save time. I tried using Essentials' one but it's too complicated and intertwined with essentials' core for me to be able to reliably strip it out into my own project.
using java 11 ๐
I love u
First time creating a wiki
any thoughts?
RIP jitpack uses java 8 so I'm forced to use it ๐
Yea
I don't suggest nesting it
oop
you probably want smtng like this
man windows still not fully working ๐ข
class AbstractPojo {
Object o;
Object lock = new Object();
AbstractPohjo() {
}
public void setO(Object o) {
synchronized (lock) {
this.o = o;
}
}
public O getO() {
return o;
}
}
class APojoImpl extends AbstractPojo {
APojoImpl() {
super.o = new String('L');
}
}
class Pojo {
ExecutorService executorService;
AbstractPojo pojo;
Pojo(ExecutorService executor, AbstractPojo pojo) {
executorService = executor;
this.pojo = pojo;
}
Pojo(AbstractPojo pojo) {
this(new ForkJoinPool(32),pojo);
}
public AbstractPojo getDelegated() {
return pojo;
}
public CompletableFuture<Void> setO(Object o) {
return CompletableFuture.runAsync(() -> {
pojo.setO(o);
},executorService);
}
public CompletableFuture<Object> getO() {
return CompletableFuture.supplyAsync(() -> {
return pojo.getO();
},executorService);
}
}
//usage
Pojo pojo = new Pojo(new APojoImpl());
pojo.<Object>getO()
.<String>thenApply(o -> {
return o.toString();
})
.<Void>thenAccept(o -> {
Logger.info(o);
})
.<Void>thenAccept(() -> {
pojo.setO(new Object());
return null;
});
or smtng
Jitpack bad
CompletableFutures are a way to avoid nested callbacks
sorta like async await
they r different tho
but ye whatever
what
ur factorial function
o
Trying to solve it and accidentally made a factorial lol
Piggy, do you prefer putting static initialization in a static init block or just directly initializing when declaring?
static int i;
static {
i = 1;
}
//or
static int i = 1;
I am not piggy but second is usually better
is there any specific reasoning behind that?
yeah yeah ik
just an arbitrary example
but then it should be avoided when possible?
yeah
Well
You could forget to initialise it :)
But also it's just cleaner
More obvious what's happening
Easier to read
hmm Ig
does anyone know
what the hell
this language is: https://gist.github.com/statistic-on-air/1178034
@forest pecan R
hmm. is there a way to add priorities to commands? in spigot?
elaborate
because this is pretty annoying. I have a plugin that has a command that conflicts with my plugin's main command and the other plugin has a "disable" feature but it only tells me the feature is disabled so I still can't use mine. well I can using /pluginname:command but its annyoing
I've tried loading before and also loading after but same result
is that plugin os?
no unfortunately
free?
decompile it and look for how their commands are registered
if they register using plugin.yml you could just delete the alias
oh wait that I didn't think of
see if they're using the playercommandpreprocessevent or plugin.yml
but yeah try dkm's thing first
i literally can't understand R lmao
my friend gives R code to me and i cant understand anything about it
damn thanks. it is plugin.yml. I completely forgot about that.



