#dev-general
1 messages · Page 150 of 1
gradle is good if you configure it correctly
ahahmahmahma
What exactly doesnt work?
Its pretty similar to maven
Probably just me
👁️ 👄 👁️
You may find gradle useful later on in some cases so maybe try it in some test projects
I havent done much at all on it lol, at this point i was just messing around and seeing how it worked, theres pretty much nothing done on the lib itself
Ive been doing other stuff lol
beautiful
Ah I'll make my own repo then
in .idea afaik
public void tpPlayersToSpawns() {
for (Player player : Bukkit.getOnlinePlayers())
if (!plugin.getPlayerManager().getBasePlayer(player.getUniqueId()).isDead()) {
player.teleport(mapSpawns.get(player));
}
}```
Epic
how can i edit this to make it teleport each player to their mapped spawn. Currently its teleporting each player to one spawn. I've checked the map and each player does have their own correct location
I mean that should work, so long the locations are correct
Depends if mapSpawns does what it should do
weird... cuz the locations are correct
public void assignSpawns() {
for (Player player : Bukkit.getOnlinePlayers()) {
for (int i = 0; getSpawns().size() > i; i++) {
if ((mapSpawns.get(player) == null)) {
mapSpawns.put(player, getSpawns().get(i));
}
}
}
}```
wait no i cant read
each player is being assigned the same spawn
ughhhhhhhh
someone help meeeee
this is hurting my brain. At the moment i guess its still assigning every player to every spawn so its my null check that isnt working
but why?
Loop through the map
I wonder what that would print
Most likely this is a bug in your code
public List<Location> getSpawns() {
return (List<Location>) plugin.getDataManager().getDataConfig().get("spawns");
}```
nah language succ
Not really
yes
can you not. I'm asking for help and thats not exactly helpful ori
Lmao
Well you're also asking for help in a channel that isnt meant for support
so shut up

good point
Doesn’t mean you randomly should spit out a comment that is totally irrelevant
how about ' hey buddy you're in the wrong channel '
But we should move channel (:
Circlejerk inc
clojure best
Yup
i'm actually of the firm opinion that python is the best language, and jython it's best implementation
You've clearly never heard of COBOL
Skript
I'm legitimately considering making a skript interpreter papi expansion
Die
so people can write expansions in skript
Piggy don't
That would be lit

we dont need this discord server invested with annoying ass skript kids
we already have annoying kids like conclure giving everyone migraines and we dont need more 
rude
Ori you make no sense sometimes
I'm aware

I'd support that

anyone know what the purpose of <T extends MyClass<T>> is btw?
or something along those lines
since doesn't that make it pretty much uninstantiable?
like since you go to make a new instance like this: MyOtherClass<MyClass<MyClass<>>>() and it just becomes an infinite loop
no?
You could have a ClassA<Int> and a ClassB<Int>
It just means that the ClassB Param has to match that of ClassA
what if ClassA's type param was T : ClassB<T>?
actually no ik what I mean
what about if you had this: ClassA<T : ClassA<T>>
that's uninstantiable right?
I've seen this being done http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/Quantity.html here in the Java measurement API
Type parameters aren't fields
They can be recursive
You could have kotlin class ClassB : ClassA<ClassB> and it would work just fine
true
but how would you instantiate that example I sent? (I mean obviously it's an interface but if it was a class)
class Quantity<Q : Quantity<Q>>
Just because a parameter exists, doesn't mean that it's in the constructor
but you need to provide the type for generics though don't you?
like when instantiating
Yes
I imagine in this example subclasses of Quantity would override the parameter so that it could be inferred
yep
But even if it wasn't, Quantity<Quantity>() would be possible
I believe they do something like: ```kotlin
class Meter : Quantity<Meter>
actually Meter is a measurement not a quantity lol
@heady birch hot
Found a good video to learn lexer and parser stuff, but the whole series is in Russian 
subtitles?
Checked the code before the videos
Atleast you'll be able to curse out the code in russian after it when you don't learn shit from it

Yea
Perhaps
finger licking good
ԠДҬҬ
I will never truly comprehend the hive mind of this community
what the fuck is that white theme
Oh shit I should have seen that coming
Please hold your circlejerk for a moment

Do I have to
Change to dark theme now
I'll be right back
Ever heard of clojure?
Disregard my previous message
I will never truly comprehend the hive mind that is this community
@lunar cypress Not even amoled theme, the fuck is this blasphemy
*faints*
😍
imagine writing an anti-skript anti-eclipse anti-java program with clojure inside intellj with dark mode and gradle (with kotlin ofc)
Epic devloper time 😎
🚪 ⬅️
clojure is robust
no
lisps good
fun fact, Lisp is the second oldest programming language or something
idk
great to know
Damn, a year after Fortran
I was reminded of this
But I missed parentheses. I longed for parentheses. I dreamed in parentheses. I'm not kidding, the only dreams I've ever had in code were in lisp, and it's happened multiple times, programs unfolding before me. The structure of lisp makes the flow of code so clear, and there's simply nothing like the comfort of developing in front of a lisp REPL.
58
I think
It's really just an honest opinion
It's a depressing opinion
you can't say
I longed for parentheses
without being at least partly insane
I mean obv it's not dead serious
Kotlin has improved my code by 365%
I think you mean Int.MAX_VALUE%
I think i mean String.MAX_VALUE%
i agree
Boilerplate.MAX_VALUE
What do you guys think?
Ew
why not
like it
Whats up with it Frosty and Jax?
it.commandtext.commandsender.sendmessage
Still don't understand whats up with that
If it bugs you enough you can make a variable for it
@errant geyser you should make default aliases for like Command#sendMessage and SubCommand#sendMessage
and honestly anything that requires that whole long string with command context
@ocean quartz https://github.com/ipsk/MattFrameworkJDA/blob/master/src/main/java/me/mattstudios/mfjda/base/CommandHandler.java#L340 lol
that could very easily be misinterpreted
Fair
Why the fuck does this return a map and not a list? I don't get it
It literally just adds the index of the items.. {0=ItemStack{STONE x 16}, 1=ItemStack{ACACIA_LEAVES x 1}}
Nothing to do with slots or anything
That’s dumb
doesn't it say in the docs that the keys are the slots?
Returns:
A HashMap containing items that didn't fit.
The returned HashMap contains what it couldn't store, where the key is the index of the parameter, and the value is the ItemStack at that index of the varargs parameter. If all items are stored, it will return an empty HashMap.
This could have been a list
That’s true
I mean a Collection would have worked anyways
Or maybe a list would have been greater perhaps
well, do you want half your collection to be null?
or possibly the entire collection?
Because?
do you really need to allocate all that just because the itemstack at index 54 couldn't fit
I mean most people adding the items don't really care to check if the specific vararg index was the one that didn't get added
I understand it's useful but
do you really need to allocate all that just because the itemstack at index 54 couldn't fit
Oh yeah I’m just dumb
yeah ig the index information isn't too relevant
do you really need to allocate all that just because the itemstack at index 54 couldn't fit
Tbh that's whatgetContentdoes
An array where most of it will be null
yeah but there it has more meaning
something being null actually means there is no item in that slot
Yeah, it's pretty useful, though in this case could have been a map xD
what do I care which indices did fit
Evening
Heyo
Niall what’s ur timezone?
GMT
Wait what country?
@ocean quartz what's even the point in having a map implementation that returns the list of items it couldn't store when you try to add an item and it's full?
Why are you asking me that?
oh ffs
I mean it's a Bukkit code lol
of course it is
XD
Though it's useful, no need to be a map, a list would be fine, but it's useful
from the undocumented deprecated methods making you figure out what they've been replaced with to this
i mean its realy usefull.
It’s 23:37 for me
also @ocean quartz btw, I'm currently working on an update for Octo to introduce support for ShardManager along side JDA, might be a thing for you to consider for MFJDA
Gasper what country?
Slovenia
also hope you don't mind that I'm kinda stealing your way of handling messages lol
Ah
and ya'
Sweden
I'll credit you though
oh interesting.
The hell is ShardManager?
it, well, manages shards
for discord
you know what shards are?
not completly but ye
not you lol
ojh
Yeah, meh don't care enough for JDA to add that
Java wrapper for the popular chat & VOIP service: Discord https://discord.com - DV8FromTheWorld/JDA
alright guess PR it is then lol
https://paste.jaims.dev/ciqoqazici.cs
is this a good way to do this. i am trying to be able to easily take an int in seconds and get the amount of like other time formats such as hours, min etc.
after I've finished working on Octo's new method of handling commands
@surreal quarry that's horrible
lmao
fun Duration.formatToHumanReadable(): String {
var durationLong = this.toMillis()
val result = StringBuilder()
for (entry in durations) {
if (durationLong < 1000) break
if (durationLong >= entry.value) {
val amount = durationLong / entry.value
result.append("$amount ${entry.key}").run { if (amount > 1) append('s'); this }.append(", ")
durationLong -= entry.value * amount
}
}
return result.apply { setLength(max(result.length - 2, 0)) }.toString()
}
```is what I'm using in my Punishments rewrite (definitely not my code lol)
tbh that's not all that much better
actually yes it is
wait why does your code return a map?
I swear the Kotlin time API literally already lets you do this
you can turn a number in to a duration and then get the amount of time
Int#milliseconds will give you a duration of the integer's amount of milliseconds for example
then you can get the duration in hours with the accurately named Duration#inHours
ok ill try that
I wonder why I don’t do kotlin yet
I wonder why some weird people still think Java is better lol


I wonder why some weird people still think Java is better lol
@jovial warren when you first joined this server, weren't you involved in a lengthy argument arguing just that
or am I confusing you with someone else
Oh how the tables turned..
My, my, the turntables
Laughs in rust
I can't laugh in rust. I can only cry
When I looked through the spigot forums for a way to use clojure in a spigot plugin the other day, I stumbled upon something very cursed
(Yes, even more cursed than the fact that I was looking at how to use Clojure with spigot)
Someone wanted a Lisp with the characteristics of Rust
what
Whys it called "a Lisp"
why's rust called rust
although
I'm pretty sure it's an acronym
for "List Parsing" or something
(ok (thanks (for (explaining (that)))))
It's called rust because you start to rust as you use it
Yeah im p sure lisp literally means list parser
Or are you asking about the indefinite article
In that case it's because lisp is more of a language family than any discrete language
let you = &are!(<welcome[]->) { lisp: good }
What abomination is this
Not too sure about some of this
Don't think so
@jovial warren when you first joined this server, weren't you involved in a lengthy argument arguing just that
I was stupid back then alright
somehow my eyes got opened
But you know why people still stick to java then
no because my arguments were complete BS
Who taught each of you about kotlin?
my mate kacgal taught me
he taught me Kotlin, Java, Maven, Git and Linux System Administration in fact so pretty much everything
I first remember like 2 years ago, sxtanna would go on and on and on about it all day
swiss army knife
I saw it a couple snippets and decided to look at the reference
I wonder why some weird people still think Java is better lol
@heady birch aren't you one of these btw
lol fair enough
I learned a good amount from Sx and BM but most of it was just reading the documentation
India youtube tutorials op
Tbf, java is still my best bet for the kind of barebones stuff I find myself doing very frequently
I learned a good amount from Sx and BM but most of it was just reading the documentation
I learnt a lot of Kotlin especially from my friend sitting there watching me just write shit and helping me get gooderer lol
With regards to the jvm that is
JNI, ASM, lightweight libraries - no point in doing that in another jvm language unless you specifically design it for that language
Since kotlin mostly improves surface level things the latter rarely occurs (at least for me)
this is unprecedented
What is this??? Civil discussion about different languages?!?!
@prisma wave
kotlin good java bad?
I like boring :(
meh
Skript
boring is boring
If sx was here this would be more fun, he would've called at least 3 people "OBJECTIVELY wrong" by now
Lol true
😔
that is objectively correct
I'll use Java for libs and things like that, though for my plugins definitely Kotlin, curious about Clojure, but the syntax is weird for me, though seen some cool stuff when we were doing clash of code
I miss sxt
Clojure good
like unironically here
The syntax is just an initial shock
Once you get over it, which takes about 10 minutes, it feels just as normal as any other language
Glad you feel that way now too
Fair enough
It also took me some time, mostly because my brain was still wired to the old concepts and I couldn't imagine a new idea being realised with a new paradigm
You can definitely do a lot with it. I recommend just browsing through some projects and libraries
I could share some of my favourites or some that I find most intriguing
Yeah that could be cool
I just (again unironically) can't really see any other language being able to complete with the versatility of Kotlin
but it would be cool to see some Clojure in practice
My biggest public clojure project is an implementation of the poker game mechanics along with an accompanying discord bot that lets you play against others in chat
That was rather challenging but it turned out quite good
As I told you already I'm currently also working on Clojure for web backends
With ring (https://github.com/ring-clojure/ring) and compojure (https://github.com/weavejester/compojure)
Also datahike (https://github.com/replikativ/datahike), a functional database using Datalog (a logic programming query language)
And some of the stuff I still want to play with:
- quil, a Clojure api for Processing
https://github.com/quil/quil - an opengl/webgl library for games https://github.com/oakes/play-cljc
- and in a similar vein, clojure for unity https://github.com/arcadia-unity/Arcadia
Main repo. Quil source code. Contribute to quil/quil development by creating an account on GitHub.
A Clojure and ClojureScript game library. Contribute to oakes/play-cljc development by creating an account on GitHub.
In terms of libraries, all the contrib (official) ones are pretty good, esp core.async and core.match
Someone also made an app to do shell scripting with clojure (using graalvm native images), I've actually used that a couple times on my server as well
https://github.com/borkdude/babashka
And there are many areas which I haven't explored yet, such as general purpose logic programming with core.logic and machine learning/ai with adapters for apache spark and stuff
And of course ClojureScript
There are tons of frontend libraries and wrappers of popular js frameworks for clojure
I could probably go on, esp in that web project I try to dip my toes in a lot of cool libraries
For example:
- markdown parser (https://github.com/yogthos/markdown-clj)
- templating (https://github.com/yogthos/Selmer)
- email (https://github.com/drewr/postal)
- oauth2 (https://github.com/DerGuteMoritz/clj-oauth2)
What I like about Clojure is that it is very modular. There aren't many big frameworks, but rather many individual libraries you can just plug in since they all share the same data interfaces
In java or kotlin something like this isn't possible without the libraries knowing each other because they all have their own types, their own structures and apis
Markdown parser 👀
Yeah I saw that was a key principle of Clojure's design
Everything shares an interface or something
anyone know what https://pastebin.com/puNJ069a this means? It says it when generating a world with worldborder
It's a minimized file i think
Yeah and obfuscsted by the looks of it
Hi, is there any way to stop DeluxeChat from un-cancelling a AsyncPlayerChatEvent when it is already cancelled?
It is causing problems with a plugin I am making
I don't believe it does
Canceling the event causes issues in another chat moderation plugins
oh
From memory it just clears the recipient list
In my plugin, when a player is in a boat and they are on top of a slime block, the boat’s velocity gets increased so that the y is equal to 1 to launch the player. However, sometimes the boat hits an invisible “ceiling” and doesn’t get launched. This also occurs when I don’t have a plugin and just use a slime block with a sticky piston. I’ve tried changing the moved-wrongly-threshold and moved-too-quickly-multiplier in the spigot.yml file, but neither worked. Any ideas?
Where's a good place to store data for placeholders? Just in the plugin folder?
This is going to leave me with a permanent scar. 4 fuckin pages full of table data for an exam ✅
😂
We did it boys, time to retire
@lunar cypress "editor", because that's all eclipse is, a glorified text editor 
@hot hull tip for future reference
the first parameter you pass to shadowJar's relocate function is not the group id
it's the package
Oh...
@hot hull made a pr
Thanks bb
Frosty, I've found a plugin you're gonna love.
Lol
I just decompiled the 1st plugin and when i looked, I realized the author straight away..
Report the resource
Wtf.. its free?
Yeah but why on spigot
I am gonna fix some bugs in Photoshop then release it for free because I recoded some parts
Lmao
I changed 1 variable name
Imma release it for free
Time to go decompile windows, change 1 line and sell 
Time to fork MF to use Kotlin and Gradle 
@lavish notch why did you report? I thought you're a regular user of leaked plugins.
ffs
I smell beef
THePurpleHoser is the son of VK.
🙁
😉
Cool lol
Who's VK
no one
why did you report? I thought you're a regular user of leaked plugins.
@prisma mantle
- Don't take part or provoke arguments.
Ok pack it up, we've awoken cube
It had no place here
agree, i should have used PM.
VK doesn't give chances, so what do you want me to do?
I already contacted you previously
Take it to dms
No here plz
^
I wanna watch
Group DM time 
😮
is there such a thing as group dm?
I like VK
I mean, yes
Hey Cube
Just out of interest
Are you ever going to unmute TheCumChalice?
If they change their name sure
ah
@heady birch do you know how to replace the value of final variable under recent Java?
i was able to do that in Java8 but new java does not allow me to....
thought you might have known.
Are you using setAccessible?
yes.
in java8, i changed modifiers field of the variable to replace
but in recent java, i don't seem to be able to do this anymore.
Yes I think it's prohibited now
This answer has alot https://stackoverflow.com/questions/3301635/change-private-static-final-field-using-java-reflection
You can't reflect the fields of Field anymore
Oh
grr...
And also yeah, be aware that this will never work with static final primitives or strings
Regardless of version
na, this is for object[]
nms 1.8.8 has Enchantment[] with a fixed size array.
i was able to change it as long as I use java8
I can't recall if there's a workaround for newer versions
but i want to be able to do it at least with java 11.
But i don't think so
@prisma wave I'm just gonna fork pdm and make a PR with my suggestion if that's ok with u
What’s the suggestion? Or is that a secret?
BM u been to Tesco yet
I went yesterday
damn it
lol
How you liking the 27 degrees already
its 27 degrees there?
I wanted to die yesterday
wtf i wanna be in 7-9 degree weather
"it gets better" they said
that's good weather
27 is nothing... just sayin
"permenant solution to a temporary problem" they said
id consider that warm
AJ
We live in year round rain
This is like, 300 people will die of heatstroke today heat
for us at least
This is like, 300 people will die of heatstroke today heat
@errant geyser ?
Cant they just... go inside....
See If I was prime minsiter i would stop that
fuckin weirdos
🤣 👉 Tanning salon👈 🤣
I'm noticing you're leaving a lot of resources unclosed @prisma wave
Such as?
InputStreams
Ah good point
I'll probably just make toString close the stream
or toByteArray
Nice catch
You don't really need toString()
Or you can do it if you want
generally all your Streams utilities are available in google commons io
which if I'm not mistaken should always be available
Sx mentioned that
I believe there are classes like ByteStreams which do this, but they throw IOException which I want suppressed in this case
suppressed with a default value that is
But again if I've missed something you're welcome to fix it
final JSONDependencies jsonDependencies;
try (Reader reader = new InputStreamReader(dependenciesResource))
{
jsonDependencies = Constants.GSON.fromJson(reader, JSONDependencies.class);
}
catch (IOException | JsonSyntaxException | JsonIOException e)
{
logger.warning("Could not read dependencies.json:");
e.printStackTrace();
return;
}
```I've done this in PluginDependencyManager for example
this does not change the semantics (apart from the fact that it would fail without showing you the exception before)
That looks better
🤔
@lunar cypress although isn't there a parameter in warning() for an Exception?
===
ew
ah yeah you're right
I'm pretty sure that's used in other places, so for consistency maybe use that
imo it would be better if you passed the dependencies resource around as a URL and only opened the stream when you actually need it
would technically be a breaking change to PDMBuilder but what do you think
I don't really like the InputStream passing so I'm all for that
It was purely for convenience, since JavaPlugin#getResource returns an InputStream
Or even just accept a String and make the caller in charge of reading whatever input source they want to use
well at that point you might as well put the caller in charge of reading it
Yeah
You can change that if you want, if not I'll have a go later. Maybe there should still be a deprecated InputStream method for compatibility?
I'm not really worried about breaking changes since it's in beta, but it would at least have some documentation saying what to use instead
yeah I doubt that anyone used anything other than the constructor taking a plugin anyway but I can do that
Anyone got any idea why 1.16 colours wouldn't show
Its working fine for me but for another user on paper 1.16.1 it shows the last character of the colour
bug perhaps
I told him to try without Plib, chat control and servernpc
Wether they were doing something intercepting packets or what not
FrozenJoin is a must
the wonders of the spigotmc forum
1.8.8 🤮
that was actually the first version of minecraft I owned
i ordered mc in 2010

Who wanna API review
?
gItHuB Niall, github
No
hehe
but kotlin is better
that doesnt mean java is bad
yes it does.
just cause something is better it doesnt mean something else is bad
youre basically asking for a crusade rn
???
CRUSAADE
i dont care about history
Java is bad tho
its not
it is
Please backup your claim
yes, kotlin exists because java is bad
well no
yes
kotlin depends on java
@dusky drum no. Kotlin Native and kotlin js
Rust exist because everything else is bad
they don't depend on java anyway @analog crater even kotlin jvm doesn't need java
it needs the jvm
2 different things
Java could a be reference to the jvm.
Or the jdk
Java is also a set of specifications
jvm != java
class Scratch {
private String x;
private String y;
private String z;
public Scratch(String x, String y, String z) {
this.x = x;
this.y = y;
this.z = z;
}
public String getX() {
return x;
}
public void setX(String x) {
this.x = x;
}
public String getY() {
return y;
}
public void setY(String y) {
this.y = y;
}
public String getZ() {
return z;
}
public void setZ(String z) {
this.z = z;
}
}```
= ```kotlin
data class Scratch(
val x:String,
val y:String,
val z:String
)``` If i converted that right lol
i mean i dont care about size of code?
i dont need it.
"Java is a set of computer software and specifications developed by James Gosling at Sun Microsystems, which was later acquired by the Oracle Corporation, that provides a system for developing application software and deploying it in a cross-platform computing environment." According to the wiki. It clearly states that its a system for developing applications and deploying them.
getters are kind of nice
i dont need it.
imagine having to deal with NPEs
lel
yeah u get KotlinNpe instead
na
Unless you write it properly of course
they don't depend on java anyway @analog crater even kotlin jvm doesn't need java
@frigid badge yes it does
!!
ew
Kotlin JVM needs java. The other kotlins don't
kotlin requires jdk
Ive only ever used !! once
kotlin still needs jdk for some stuff.
so it semi depends and i dont care.
if you say its better
i've never said its bad
kotlin does not need the jdk
Kotlin in itself doesn't need the jdk
kotlin can be fully independent of Java
It just has the ability to piggyback off java's ecosystem
no not even for some operations. kotlin jvm needs the java standard library, but not the jdk
indeed
so it needs java.
yes
However, kotlin jvm does need a jvm
i love where this conversation is going.
it needs the jre
i have no idea?
What is java itself?
magic
what is life
The precoming of death
Incidentally, your argument isn't really valid - saying "it depends on Java" doesn't mean that Java is good. In fact, the fact that something exists to improve on Java suggests that it is something that needs improvement
its still not bAD?
I mean
java is good
it's not awful but it's pretty bad in comparison
Bugatti is company lol
Kotlin good Java bad Clojure good
java is good in its own way, and so is kotlin.
No? How can you compare a speed of a company compared to the speed of a xar?
no
no need to be a smartass dude
jolly you get the point
I dont. Thats why I am asking
The thing is, good and bad are subjective
eh.
pretend "bugatti" is the fastest car
if youre SO NAME SPECIFIC here you go the full name i intended....
bugatti veyron
now
bye
Bye
im leaving thius conversation
Lol this got very toxic very quickly
Rip
yes since everyone in this world is so toxic to everyone noone can be frieldy.
just YES THIS IS GOOD other stuff is bad
The english language is a very bad language. It isn't logical enough and allows too much miscommunication
mfw java
Slovenian best 
And relies too much on the user
Is closure faster than java (development time and runtime)
Clojure is best.
development time absolutely
Dynamic languages are usually quicker to write than static languages
Runtime, not sure
It probably evens out in the end
depends on what you're doing
It's pretty fast, especially when it comes to large sequence manipulation and concurrency it can easily compete with java
Kotlin isn't dynamic
kotlin is not dynamic
I just read what I put. I meant js lol
you mean clojure comparing to js?
lel pablo
https://www.youtube.com/watch?v=0eKdNcP4xrM funny watch if you guys haven't already seen it
In "Soy Pablo", DEA agents convince an untrained Pablo Escobar doppelganger to infiltrate the drug lord's lair, though things don't go quite as planned...
Like on Facebook! http://www.facebook.com/badlipreading
Follow on Twitter! http://twitter.com/badlipreading
clojure vs js is an odd comparison
embed to prove it's not a rick roll
well not really
considering JS is a valid and common clojure target
unless you really mean clojure (jvm) vs js
Idk what I'm even saying anymore. I'm severely misguided
I'm severely misguided
Aren't we all
im gonna write a proof of concept-sort plugin in clojure later
any suggestions
as to what I could do
join plugin 
man discord distracts me so much
I looked through some crappy plugin store to see if I could copy something
But didn't really find anything interesting
or suitable
I've been thinking about a "time machine" plugin for some time now
that replays certain events happening in the world
yeah it does and I think it could be something that clojure is good for
but I need to think about the technical terms more
Plugin that allows dynamic interperated pieces of texts to edit minecraft servers with added functionality whilst using an easy syntax whilst is human readable.
Make that in clojure
edit minecraft servers
?
With added functionality like behavior similar to plugins
what are you on about
yay so i've replaced my dataclass with kotlin now nothing saves XD
idk why tho
isnt like it possible to have kotlin and java at the same time
A plugin the let's you write pieces of text which gets interperated at runtime. It allows you to add functionality to minecraft such as add join messages. The syntax should be easy to read. The plugin also needs to have modularity for addons such as tnt or redstonev
You got gradle configured properly @dusky drum ?
im still on maven.
with this resource
i mean intellij idea said it would configure it itself
https://www.youtube.com/watch?v=0eKdNcP4xrM funny watch if you guys haven't already seen it
@quiet depot :)))
great show btw
It should do
Dont try convert maven to gradle
it's definitely their funniest video gaby
what even is the problem here?
dont try, do it!
i mean i see some kotlin stuff in pom file
A plugin the let's you write pieces of text which gets interperated at runtime. It allows you to add functionality to minecraft such as add join messages. The syntax should be easy to read. The plugin also needs to have modularity for addons such as tnt or redstonev
@analog crater you're describing Skript
@analog crater you're describing Skript
@lunar cypress yes but make it good
lol
data is null for some reason here.
https://paste.helpch.at/uqetipetuj.cs
That's not much to go on
and update user:
public void updateUser(PlayerData playerData){
String info = playerData.getUserID() + ":" + playerData.getServerID();
users.put(info, playerData);
}
As in getUser is returning null?
Making a new map by accident?
are you sure it's not a multiple instances problem?
let me check
Frosty. Skript's concept is genuinely good. However, they way they implemented is trrrible
I find it incredibly unlikey that kotlin is causing this issue
žwat ta frik its storing it into sql so it must be in hashmap .. wat ta frik is going on
You wanna bet your balls like Niall and another dude did earlier?
Cause if so, I'll prepare the scissors 
idk how to check if im running multiple instances?
print out shit, see if it matches
Niall

problem solved
HashMaps never end well for me
that's probably what's going on here
okay so i fixed it apparently somehow i managed to swap values in data class so i swaped userid and guildid for some reason idk how that happened
maybe i had different class create function on java
idk
java 
i must say i like the data classes in kotlin.
1 small feature in the sea of QoL features 
QoL?
Quality of Life
i.e small things that make day to day stuff easier
i just need to change my 46k lines into kotlin.
IJ can do it for you
nope
no
i mean
cause my code in java is just GUUUUD
They'll do most stuff ok, but it'll need touching up
i mean its probably better for me to do it manualy so i learn some stuff to right?
oh and do function like Graphic2D from java work in kotlin?
okay.
if it works in Java, it works in kotlin
ook
and vice versa
great
i just dont feel chaning my shiti simplecrops plugin into kotlin, code there is just the "best"
g2d nice
sorry to burst your bubble but that code is not "the "best""
switch
public void openConnection(){
if(engine.equalsIgnoreCase("sql")){
try {
sql.setup();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(engine.equalsIgnoreCase("mysql")) {
mySQL.startup(tablename);
}
if(engine.equalsIgnoreCase("yaml")){
yaml.setup();
}
}
i know
bruh
-_-
ez ban
p o l y m o r p h i s m
P O L Y M O R P H I S M
wow
nvm not gonna say it
wtf
report frosty
this is admin abuse
yes report frosty
I would suggest you convert to clojure
I hate it
?
as a start if(!(args.length > 1)){
Those 4 args
XD
Put into CommandContext
(if (hasPermission sender "")
(sendMessage (sender (TextUtil/colorFormat (getString (getMessages (messagesData) "noPermission")))))
(return true))
``` ever heard of clojure?
Is that actual
I think I converted that right
KM, you got bleach
that looks like actual fucking cancer
The syntax is interesting it might be fun to learn
its fucking cancer
wow
Even better
next you're gonna say "who needs ."





