#dev-general
1 messages · Page 113 of 1
Some private channels, Niall. They were discussing scoreboard stuff and I plugged yours.
They found it intriguing.
i need to rewrite the page builder from JDA Utilities, im already reading this thinking i need to stop
It's a TV
I once made a PR extending that class
I think it didn't even get a comment, might still be open lol
Yep, there it is lmao https://github.com/JDA-Applications/JDA-Utilities/pull/76
you left me on read jda utils haha
They did merge another pr of mine though
TableBuilder
Not my proudest 1000 line class, but well
is anyone truly proud of a 1000 line class?
:/
I'd say this is the longest class I've ever written but that'd be a lie
Just have to take a look at my first JAva projects
Are you interested in joining a gh organisation built around bringing more open source into the spigot dev community? @prisma wave
Others are invited as well of course
Everything is still kinda WIP, but it's going to go somewhere
yeah
Just a place to publish open source plugins, really
With plans to make it something bigger
Well I can't promise I'd get round to contributing anything but I'm happy to join
https://join.wlosp.org
Here's an "invite link" for anyone interested
For now we'll accept anyone without the need to specify concrete contributions
In that repo there's also some additional information
https://img.bristermitten.me/22-40-41-23-06-20.png so apparently this is possible 🤮
tf?
lol
it's Java
anything's possible
anyway, BM you got any idea why I'm getting a provided token is invalid error from that config thingy?
@prisma wave
okay will do
okay that's why
it's loading it as ""TOKEN""
let's not put inverted commas around the property in application.properties
NAILED IT
finally
okay now what next lol
Anyone wanna talk shit about my code?
just the name of that lol
"PickUpItemsGoal"
it should be "PickupItemsGoal"
Pickup is one of those words that can kinda be one word or be two words
also
private val petInventory = pet.getInventory()
get
get outta here
Don't you "pick up" something and drive a "pickup"?
It's an interface
and you even supposed to put getters in interfaces anyway?
didn't think that was what interfaces were for
I was not aware of that
And yes in this case it's needed
val inventory: Inventory
waitvalcan be uninit?
forgot abstract properties were a thing in Kotlin lol
never really used abstract since I've switched
in fact I rarely use abstract as it is anyway
also what kind of a method name is a()?
is it NMS?
Yeah
okay that explains it
private fun asNmsEntity(entity: Entity): net.minecraft.server.v1_15_R1.Entity {
return (entity as CraftEntity).handle
}
get outta here
private fun asNmsEntity(entity: Entity) = entity.handle as CraftEntity
```?
that's not the same thing
or is that not how this works in this case lol
Yeah that's not the same thing
private fun asNmsEntity(entity: Entity) = (entity as CraftEntity).handle then
Don't focus too much on finicky NMS stuff lol
still, expression functions
Just saying, you could use an import as to make it a bit nicer
import net.minecraft.server.v1_15_R1.Entity as NMSEntity
what is this Python now? lol
nah it's kotlin 😎
Yeah i only learned about the import stuff some time ago, this code is pretty old
also
https://img.bristermitten.me/23-01-20-23-06-20.png Without any build time searching
https://img.bristermitten.me/23-10-13-23-06-20.png with build time searching
this is fucking hot
wait wtf?
that's with download speeds
how did you decrease it by that much?
my pc is shitty itself 
Nice
https://img.bristermitten.me/23-10-48-23-06-20.png if everything's already present 😍
what is PDM???
how did you decrease it by that much?
a combination of optimizations and preparing the transitive dependencies at build time
my thing to download runtime dependencies automatically
ah okay
Pretty nice yeah
also, apply plugin???????????????????????????
cough deprecated cough cough
just put mavenLocal() in the repositories block
that doesn't work for plugins
ah
they're resolved differently
I could put mavenLocal in settings.gradle but i'm lazy
do it
saves you using deprecated methods
fine
https://img.bristermitten.me/23-15-05-23-06-20.png is that better?
i'm just proud im using final more 
😎
also why's it version 0.0.1-SNAPSHOT?
ik that's the default for Spring but just why
I deliberately made it that
I always start at 1.0-SNAPSHOT
fair enough
also what next for my bot now?
should probably start making some commands
Up to you lol
yeah but what do I do about things like audio control?
a.k.a playing, pausing, stopping, starting and skipping, and also volume control
can they all go in the same thing?
or does that break SRP
@topaz bay what do you think?
So is this better? https://paste.helpch.at/iluhayeruy.cs
can I put playing, pausing, stopping, starting, skipping and volume control in the same class or does that break SRP?
@ocean quartz yes
getEntity could probably be a property though?
Would be something like this right?
override val entity: Entity
get() = bukkitEntity
they're not the same thing
yeah assuming bukkitEntity will change @ocean quartz
otherwise just use entity = bukkitEntity
I don't think it'll change so I'll do the latter
@jovial warren ssh cli > fancy wancy clients
and even then, if you want a client, termius is the best client
bitvise 💩
and I speak from experience, bitvise was actually the first client I used. Then I tried out raw ssh (git bash), and realised it’s what I’ve been missing my whole life. Tried out termius on phone originally, and thought “this client is actually really well made”. Installed it on pc, and wasn’t disappointed either.
Oh
Can't wait for §x§r§r§g§g§b§b
Because that's literally how it is right now to do RGB support in Bungee.
Poop
Can't wait for paper to come in and save the day with their own implementation
☹️
Another interface
ChatColor, LegacyChatColor, HexChatColor
Unicode though
Finally I can use emojis in chat
😄
Why is Inteliij showing my imports and stuff as red but it still builds and works and stuff
nature broke it
It's raining and it knocked out the power and when it came back on this was broke lmao
u cant stop nature
how does fix
Invalidate caches and restart
I've done that twice
Third time lucky?
Kotlin bugged? pauseChamp
Perhaps it's a sign that I should stop using Kotlin :)
@prisma wave thoughts and concerns? i believe it is a sign
I mean... using kotlin does require a certain IQ
Maybe you just aren't up to the task
¯_(ツ)_/¯
:(
Delete all the project files and make a new one from the existing sources
@prisma wave Is there something on gradle website I can monitor the status of your plugin request?
It's actually been approved, but the current version is kinda outdated
I need to finish the final touches (documentation etc) then I'll publish the plugin to the main repo and everything else to my repo
Once it's done you'll be able to get it here: https://plugins.gradle.org/plugin/me.bristermitten.pdm
It won't function at the moment though
no idea where to ask this, but is there any useful things i could develop for any of the plugins in this server (or otherwise) that would require web skills?
i'm bored and want to add some stuff to my portfolio. i'm best at javascript (as opposed to php). angular, node.js, jquery, etc
:kek:
Hello, your plug-in is very good, I like it very much, I also want to share the plug-in with my friends, can I move it to <some chinese website>
mhm
Oof
What do I tell the guy 
Ah okay then
that's what they told me
@heady birch
Might be worth going on there to see if thats the case
Eh
Cant even access it
Converting my entire hangman game on Java to Kotlin is such pain
Especially on list or array stuff when doing so
Is your patience at the end of a rope?
How many lines of code are you having to convert?
About 227 lines
Doesn't seem like too much
With a newbie on kotlin like me, i don't really think so 👀
There are around 10 functions
Convert all to Char, arrayOf instead of [], etc.
And null safety as well
This does not look right
I thought the same
You should use a Multibinder
And inject a list of your command interface/abstraction
Looks like I was using 4.0
Not seeing any finals Niall
eh yeah its abstract
Its so weird
Everytime I got back to classes its like wow can write this so much better
Im not a dev I just wasnt feeling posting this in general plugins
so I got a host that doesn me allow to have my own startup script batch they say its for "Security reasons"
is there any way to bypass it? thanks in advance ❤️
It depends on the host, the idea of it being security reasons isn’t wack
Yeah its a low end host! I guess you get what you pay for!
and for my last question haha! I made a timings report and it says I dont have the Aikar's flags thats why I wanted to have my startup bat
does it make any difference?
Alright will do thank you ❤️
@quiet depot by saying Bitvise is doodoo you are objectively and fundamentally wrong lol
but yeah SSH CLI is better
but not Git Bash
morning all by the way lol
or, afternoon now due to how late I get up
what’s wrong with git bash
just because that's not what git bash is for
that's not true
git for windows provides easily accessible installers for mingw64, packaged with a windows git binary
git is an extra
true
Anyone had a thing where intellij just gets really laggy when you type in quotes?
its really irritating as well lol
"git bash" isn't even actually a thing. if anything it's a nickname for whatever terminal git for windows ships. iirc it's mingw64
yeah that's fine, but you can use field injection instead of constructor injection there
ew
WHITE
Is contsructor not prefered?
no
yeah guice doesn't have a preferred method of injection
although avoid static injection at all costs
guice has assisted injection factories or whatever they're called
that whole class is useless
I will see the size after adding jbdc and hikari
interface UserFactory {
KiteUser createUser(@Assisted Player player);
}``` should work iirc
is it just me or has the yellow on the discord icon changed slightly to be less saturated
@pallid gale what you been up to lol
you noticed 🤔
Is spigot 1.16 out=
@quiet depot How do I configure that thing you are talking about?
If so I can work on rgb support in my chat plugin
My jar with guice shaded is 4.1 mb
Kotlin removes those ew constructors
@pallid gale what you been up to lol
@jovial warren imagine tagging me in #dev-general where if you were bothered to go to the right channel (#off-topic) you'd see i actually already spoke about it
smh.
nvm I think its minimizeJar
@heady birch exclude guava
& gson
not sure about gson
pretty sure u have to exclude both
definitely guava though
gson is in spigot itself
guice definitely includes guava, and I'm not sure about gson
check via your gradle deps tab
Anyone know why the imports for 1 of my dependencies are saying Unresolved reference yet it still compiles just fine?
It was working fine until yesterday, after my computer shut off and came back on it started doing this
And it only seems to be happening on my Kotlin projects for some reason
try reimporting?
I have
Lol kiteboard is now guice without kiteboard 😦
I got no idea
ask sx, he'll probably know
he's like GKL 1000
(Gradle Knowledge Level)
It might be the case that im askin this the second time ive been here. But where can i download the Guilds API jar ?
@quiet depot Any idea why minimizeJar removes most of my dependencies?
My output jar consists of Guice and my resources folder, nothing else
Oops
MinimizeJar tends to kinda break sometimes
I expected it to
It will leave out my nms specific classes because they are not referenced at all
Hm
It probably leaves the rest out becuaes it looks for an entry point?
psvm
Looks like that was the case
okay now I'm at the point in BardyBot where I'm making an audio manager
unsure how I should get an instance of MusicManager
@Inject private MusicManager music;
do I need a dependency for that since i can't seem to find it by default?
is there an extra Spring dep for DI?
also, remember I'm using Kotlin Piggy
though that shouldn't make a difference
what should I use instead?
also, I need one instance of the MusicManager per guild
ok?
so what do I do about that?
probably gonna need some enterprise logic
because I imagine it has to be @Autowired val musicManager = MusicManager()
enterprise logic? oh no
oh fuck off
what the fuck is that name?!?!?!?!
what extends this?
also I've gotta be able to come up with a different better name to that, surely
anyway I'll use that name for now
what do I need in here?
yeah we know
@prisma wave what am I supposed to put in CaptainStupidName then?
a.k.a AbstractGuildWrapperFactoryBean
oh this is actually quite elegant i think
also what is this class supposed to do?
because AbstractGuildWrapperFactoryBean seems a little out of order to me
it should end in Factory
unless it's a bean of a factory
I don't even wanna know lol
Maven central is definitely "interesting" wtf
Ikr
gotta be a reason for that
also, lemme fix that maven central link lol
I'm gonna replace it with [](https://search.maven.org/search?q=g:%22me.mattstudios.utils%22%20AND%20a:%22matt-framework-jda%22), which will get one of those cool badge thingys I was looking to have there
also @ocean quartz , apparently contributors are people who have contributed but haven't committed according to the description of the tag
Oh interesting
so if you don't mind I'm putting myself back in the tag that's for committers 🙂
hopefully at least then it'll show up properly on MVC lol
Go for it yeah
good I'm getting my name on other's projects finally lol
okay I've made a new PR
hopefully that one will process properly on Maven Central lol
also @ocean quartz , https://github.com/ipsk/Kipp/blob/master/build.gradle
apply plugin
smh
unless for some weird reason that's the way you're supposed to do it here
@prisma wave You ever used maven minimize jar?
for some reason it doesnt want to include Guice
I adding includes for it but that defeats the point
why maven
@prisma wave how's that "enterprise logic" coming along by the way xD
wow my WiFi just had a fit lol
@Component
class MusicManagerBean
{
@Bean
@Scope("prototype") //makes spring make a new instance every time
fun musicManager() = MusicManager()
}
@Component
class GuildWrapperFactory @Autowired constructor(
val beanFactory: BeanFactory
)
{
fun create(guild: String): GuildWrapper
{
return GuildWrapper(guild, beanFactory.getBean(MusicManager::class.java))
}
}```
then use like GuildWrapperFactory#create(Guild)
probably replace String with Guild, I just cba to depend on jda
simple enough
also, MusicManager() needs to be given an instance of AudioPlayerManager lol
forgot to mention that
doesn't matter
do the same thing for that
define a bean of AudioPlayerManager, autowire it in the MusicManager constructor
also, what's GuildWrapper?
a wrapper class that holds a Guild and a MusicManager
since Guild is an interface you could even delegate to Guild
data class GuildWrapper(
val guild: String,
val musicManager: MusicManager
)
yeah internet is having a fit today lol
adjust as required ofc
Question
Is it possible to place down a command block WITH a command in it already loaded?
Ctrl middle click probably
in code....
place down
I mean..
hm
oof
I don't understand
There are people 100x better than all of us
And companies still end up with rubbish stuff
After paying a fortune
Because, people dumb dumb
enterprise
KM, nah they just started in java, then realised kotlin was better and couldn't have been asked to switch :kek:
supposed to be
Maybe they were told to code it in java but they realised the company wouldnt notice if they put it in the java folder
btw what app is this bm?
nah it's OS
o
Maybe they were told to code it in java but they realised the company wouldnt notice if they put it in the java folder
@obtuse gale clever
not to mention they're using python for their website
not enough spring if you ask me
¯\_(ツ)_/¯
@prisma wave what
?
🙂
src/main/jatlin
😬
also it surprises me this is OS
they said they would OS it
most countries are
to prove it's not tracking people
well not more than they say
yeah that's what I was just about to say lol
to prove they ain't tracking anyone
though most people won't know how to read source code anyway
and also, how do you know that the OS version is the one that's going on the App Store?
Jesus, the references
yeah that is a jesus christ
and also, how do you know that the OS version is the one that's going on the App Store?
realistically you don't, but I guess if you really cared you could build yourself
on android anyway
idk about ios
"Jesus Christ" - King Arthur, Monty Python and the Holy Grail - Graham Chapman
lol
classic
ikr
also how do I get that colour role to change my name colour to my tier colour again?
=tier color i think
disgusting
could be worse
go back to pink
purple name master race
lol
😁
what's the purple tier?
oh VI
indeed indeed
=tiers
we'll see who gets there first
it's =tier
been slacking past week or so 😬
Is tier 9 same color as staff?
😦
i wont
im not even on top user stats 😕
sorry wrong person lol
One day someone will get there
Someone had an oopse
😦
anyone know a good way to learn JS?
practice
make a barry
Open it, then delete everything, saves you headaches
I wanna make a website using Angular
angular is simple enough
so I gotta learn JS and probably TS
mostly
also, does IJ have Angular built-in or have I gotta use WebStorm
Prolly WebStorm, though IJ ultimate has a lot of features so idk
yeah I'll use IJ for my backend
which I'll probably write in Spring
just for some good practice
KTor is pretty nice
Yeah ^
What would be the best file type to use for plugin messages? (Needs to be able to have comments, and multilang support)
oh yeah Ktor is the web framework isn't it
mhm
lol
And it's not the same thing, Ktor is actually supposed to be used with spring to enhance it
...
I'm using Angular for my frontend and Spring for my backend
node can go fuck itself
and?
write the boilerplate yourself then ig
Let's make a language with the biggestboiler plate possible
why the heck would u do that matt
public immutable Integer var number = new object Integer(0); lmao
oh god
@AccessibleFrom(Accessibility.ALL)
immutable var number as Integer = Integer.new ( Object Integer 0)
Oof nice, let me try beating that
immutable variable number with type Integer = create Integer with value 0 accessible from getClass().getPackage().allClasses()
beat that lmao
@AccessibleFrom({ ClassName::java.class.jar, ClassName2::java.class.jar })
immutable var number as new Integer = new Integer().new ( Object new Integer.withValueOf(0) )
is that actual code or just like pseudocode?
immutable variable number with type Integer = create Integer with value 0 accessible from getClass().getPackage().allClasses()
is that actual Kotlin code?
no lmao
lol
Let's make a language with the biggest boilerplate possible
I dare you
immutable variable with name number with type Integer with access type public = create new variable of type Integer and value of 0
access is public, classifier name is ClassName {
access is private, type is Integer, name is int, value is 0
access is public, is constructor, name is ConstructorName, parameter values are (name is int, type is Integer) {
from this classifier, variable name is int, value is int
}
}
lol
sexy
variable number = create("number") {
immutable
withType = Types.Integer
withValue = 0
accessibleFrom = getClass().getProtectionDomain().getCodeSource().getFile()
}```

Oh yeah Sx sent me this yesterday, i thought you guys would like it too
look at my example lol
variable number = create("number") { immutable withType = Types.Integer withValue = 0 accessibleFrom = getClass().getProtectionDomain().getCodeSource().getFile() }```
okay that's good
but you need more
let's make a language out of the English Language
SQL?
skript 
Sql is basically english
function printAValue = __global.functionFactory.create("printAValue") {
immutable
final
signature {
input = __global.collectionFactory.createSetOf<Type>(Types.Any)
output = Types.Nothing
typeParams = __global.collectionFactory.emptySet()
}
process {
beginFunctionExecution()
variable value = __function.getParam(0).getValue()
__global.stdout.getFunction("println").invoke(value)
finishFunctionExecution()
}
}```
now that is a work of art
jesus fuck
You win
this can be accessed anywhere, it is a classifier, the name of it is ClassName, the code is {
this can be accessed anywhere, it is a variable, the name of it is int, the type of it is Integer, the value is 0
this can be accessed anywhere, it is a constructor, it has the parameters (this can only be accessed here, it is a variable, the name of it is int, the type of it is Integer), the code is {
get this variable from this instance of this class, assign it the value of the parameter of this constructor with the name "int"
}
how's that
hideous
looks like it's structured a bit like guess who
oh my god
I said a language that's just like the English Language
Omg
I just found the most cursed code I have ever wrote without noticing holy shit
This was written in January btw, i have no idea what sort of drugs I was on, but I just noticed wtf
🤔
cursed
lol
that double equals merging in to one is concerning
It can get confused real fast when they merge
No lol, it literally needs to be just target = item
confusing*
you can probably just remove that setter altogether
If I could write today jesus
i do
You're the only one suffering yes
🙁
whats wrong with darcula
ugly
Atom one dark very good
nah the functions in italics is just ew
eh
keywords in italics is ew
that's nothing to do with the color scheme
also the purple is just no
italic functions = yes
and the yellow and blue just doesn't suit me
considering id have to dl that, id stick with darcula
Show your theme then lmao
yeah I can't really disagree with that tbf
default Darcula >
@regal gale 1BDD8F
with Cantarell (default) for Appearance font, and Fira Code Medium for editor font
mono looks horrible as Appearance font imo
I replaced yellow with orange as well
yeah that orange isn't too bad
Made interfaces a better green too
Darcula with Cantarell for Appearance font and Fira Code Medium for editor font works fine for me
jb mono is best font
mono outside of editor is horrible
Where do you edit that Matt (string color)
Does \n work in placeholdesr
I have Cantarell at 13 and Fira Code Medium at 15
Here
yeah 15 makes it easy for me to see
yeah bigger is better as they say
I suppose the main reason why I use 15 though is just because it's what I'm used to by now
nah 16 is wayy too big
I get quite set in my ways
what's your max line length?
Okay yea that's nice
how do you check
Does \n work in placeholdesr
@heady birch
try it and see?
This is how it looks for me normally, with 16
Not easily
Well, atleast not cleanly
can you get brown
have fun doing that manually
or automate it
You're doing the minimap stuff Niall?
make a thing that picks the most dominant color
Oh, i'd do it as a plugin instead of placeholder, performance stuff etc
oh like full fledged plugin
Yeah, remember you'll be scanning 15x15 blocks and getting the highest one, sounds pretty heavy
oh yeah
Heyo
👋
Heyo
yo
We had such a long call in Paper last night I fell asleep on it apparently.
Paper?
PaperMC Discord.
ah okay
12 hour call.
tf?
Matt was there!
also, you're part of the PaperMC project?
I was in the call for like 1 hour, there were too many people xD
Debating how spigot is doodoo
We did discuss some of the uh... Interesting API changes being made.
The chunk talk was pretty nice though, a lot of interesting things i had no idea about
or was it just in General
I wanna know how the hex colours are going to work!
I mean we had like what, 30 people in there for a few hours?
Right now, if we understand it right, it's not pretty.
I'd imagine it's just the same way it works in just about every other API/program that uses hex
you give it an RGB int or a hex string, it changes that in to a colour
Being told it looks like this §x§r§r§g§g§b§b
Oh god
tf?
&#<hex>

Like it's not hard to not fuck shit up
I'm hoping it can be changed to that.
Yet they still manage to fuck shit up
Time to make MF-Colors i guess
How does that work?
isn't it only for the json components anyway?
Time to make MF-Colors i guess
@ocean quartz If you do and it's lightweight that will be cool
I'd use it
It'd depend on how messy the Bungee implementation will be, if it's good it's not worth it
oh ffs
been debugging this random, vague error for a few hours now and I was debugging the wrong function
😕
lol
What is cobalt?
that's called leaking
It's obfuscated for a reason
not allowed in here
I know you leaked that
really?
Link the original
^^^^
He obfuscated it bc he was lazy to leak the src
lol
it really ain't that hard to leak source code
Uprac is free
Can you link me the plugin? lol
was it given out by the original dev?
Yes
sure?
One of the deva
Still waiting for the link lol
same
Look
here's the link
Bardy.. come on xD
I did
thanks
I can't delete it now
😂
its not here
https://bit.ly/3evX2y9 guys i found the link
Lol
:))
screw you KM
I sent it in dms
<3
yeah you can't be using leaked shit in here
doesn't matter it's on BS
?
Being on Github isn't the same thing as being free, you're still using a leaked plugin
😂
it ain't funny
I want it unobfuscated
leaked plugins = ban from HelpChat
L0L
I just need to unobfuscated it
It was never leaked
I had it and so was the dev
gl unobfuscating it
if it's on BSMC that means it's been leaked
I got all right
Well we aint gonna help deobfuscate a plugin
Well we aint gonna help deobfuscate a plugin
^^^^
Ik
what did you expect
no matter where it came from
just learn skript and write it yourself, ez pz
lol
this kid's mum won't let him download IJ CE because she thinks it will harm his PC lol
request paid/free have someone write a new version
What does it even do?
why do you even need it unobfuscated? is my question
what do you want to do with the source code?
not an answer to my question
what are you on
I don’t
Nice
lol
No
what
do
you
want
to
do
with
the
source
code
What does it even do?
And I want it also so I can get my ducking pl back
why does source code matter?
I just need it unobfuscated
I just ducking answered it
ducking
we are using eyes
we see kid wants unobfuscate plugin no reason
tell me why
Aint nothing but a heartache
lol
tell me why
tell
me
why
you
want
to
deobfuscate
it
I want the fucking plugin so I can have it and it was created by me and another guy ffs
what a great song 😍
you
don't
even
know
how
to
code
if you created it why don't you have the source code lol
And another kid wants it and he’s my irl friend he’s gonna let me join his group in school
alright cube
Becuase I want to join the mafia boys
And another kid wants it and he’s my irl friend he’s gonna let me join his group in school
so that's what you're doing it for?
that means nothing
you still haven't said what you're doing with the fucking deobfuscated code
My laptop burned and I lost everything
backstreet boys ohhhh yeahhhh
How did it burn
Your dumb
Your reasons keep changing wtf
Our dumb
If you made it you should know the obfuscation so deobfuscated should be a breeze?
If you made it you should know the obfuscation so deobfuscated should be a breeze?
@pallid gale Lol it doesnt work like that
Unless you save the obfuscation mapping
Bc I’m fucking stupid little shut
nial pls
No
lol

