#dev-general
1 messages · Page 617 of 1
why am i getting "Method call expected" ?
private Main plugin;
public TeleporterGUI(Main plugin) {
this.plugin = plugin;
}
private Inventory gui;
public void openTeleporterGUI(Player player) {
gui = Bukkit.createInventory(null, InventoryType.HOPPER);
gui.setItem(0, new ItemCreator(ChatColor.RED + plugin.getConfig().getString("Slot1_name"), Material.RED_BED).build());
gui.setItem(1, new ItemCreator(ChatColor.RED + plugin.getConfig().getString("Slot2_name"), Material.DIAMOND_SWORD).build());
gui.setItem(2, new ItemCreator(ChatColor.GOLD + plugin.getConfig().getString("Slot3_name"), Material.COMPASS).build());
gui.setItem(3, new ItemCreator(ChatColor.RED + plugin.getConfig().getString("Slot4_name"), Material.GRASS_BLOCK).build());
gui.setItem(4, new ItemCreator(ChatColor.RED + plugin.getConfig().getString("Slot5_name"), Material.CAKE).build());
player.openInventory(gui);
}
@EventHandler
public void GUIClickEvent(InventoryClickEvent event) {...}
@EventHandler
public void OpenGUIEvent(PlayerInteractEvent event) {
Player player = event.getPlayer();
if(player.getItemInUse().equals(Material.COMPASS)) {
TeleporterGUI(player); <<<
}
}
}```
im gonna assume you're either trying to a. create a new instance of the gui class or b. open the gui for the player
a)
you need to do new TeleporterGUI(plugin) since you missed the new keyword and you also are providing wrong args
b)
you need to do this.openTeleporterGUI(player) to run the function above the events
b helps, thanks a lot
How do you properly use Git? Like do you commit for every small changes?
I saw a statistic or whatever on someone else GitHub profile, and it's crazy to me for some reason.
Ye you commit each change with a message
And your GitHub contributions statistic is like that too xd
God I would hate committing every change. I hate committing every update.
Well not ever change, but every substancial change
Yeah that's what I'm saying, it'll slow down the coding process I guess.
I usually just complete the code and then commit and push the whole thing at once.
I wish github allowed you to delete previous commits when you comitted.
But it looks pretty cool, lots of green thingy
Mines probs mostly red xD (Deleted code)
Does committing to private repository will count as contributions?
Fairly sure there's an account setting for that
For?
👍
It’ll be listed on your profile above the statistics where you can configure if the private contributions are associated with it
it does
You can change previous commits and then force push
it's a fun way to insert malicious code into an open source codebase. Simply change some old commit to be malicious, and then hope no one notices.
Hi I'm coding a api for my bungee server which consists of 2 plugins to communicate with eachother and I've ran across a weird issue
This is the error that I am getting:
java.lang.NullPointerException: Cannot invoke "me.fiftyone.ventediaApi.API2.getDatabase()" because "this.api" is null
I understand that the part of code that is causing this is:
this.api = API2.getInst();
This calls to the second plugin which has the getInst function and should be returning to this:
public API2(API api) {
API2.api = api;
this.inst = this;
this.network = api.getRedisAPI();
this.database = api.getDs();
this.backend = api.getApplicationAPI();
this.settingsManager = api.getSettingsManager();
this.reworkConfigs();
}
Which in my understanding shouldn't be null however throws a null in the console.
I'm not sure how to really explain it as these are 2 plugins of which its saying when pulling the api from 1st is null but shouldn't be.
If anyone would be willing/interested to fully understand what I am trying to do here and try help i can send the full code via private message.
Paste Services
When asking for help with a config/menu/code issue please use our paste bin:
(we prefer it over pastebin.com)
• HelpChat Paste - How To Use
also why name things API and API2, so hard to keep track of
API2.getInst is null
And then fix it
So this is the full error I am receiving:
[17:38:00 ERROR]: java.lang.NullPointerException: Cannot invoke "me.fiftyone.ventediaApi.API2.getDatabase()" because "this.api" is null
[17:38:00 ERROR]: at me.fiftyone.ventediabungeecore.Bungee.initDBs(Bungee.java:97)
[17:38:00 ERROR]: at me.fiftyone.ventediabungeecore.Bungee.onEnable(Bungee.java:49)
[17:38:00 ERROR]: at net.md_5.bungee.api.plugin.PluginManager.enablePlugins(PluginManager.java:312)
[17:38:00 ERROR]: at net.md_5.bungee.BungeeCord.start(BungeeCord.java:293)
[17:38:00 ERROR]: at net.md_5.bungee.BungeeCordLauncher.main(BungeeCordLauncher.java:67)
[17:38:00 ERROR]: at net.md_5.bungee.Bootstrap.main(Bootstrap.java:15)
[17:38:00 ERROR]: at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[17:38:00 ERROR]: at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
[17:38:00 ERROR]: at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[17:38:00 ERROR]: at java.base/java.lang.reflect.Method.invoke(Method.java:568)
[17:38:00 ERROR]: at IlIlIllllIlllIIIIlllIIIIIIlIII.IlIIlIIlIlIIllIIllIl(Native Method)
[17:38:00 ERROR]: at java.base/java.util.Optional.ifPresent(Optional.java:178)
[17:38:00 ERROR]: at lllIIIIllIlllIIlIIlIlIllIIllIl.run(Native Method)
[17:38:00 WARN]: Exception encountered when loading plugin: VentediaBungeeCore
java.lang.NullPointerException: Cannot invoke "me.fiftyone.ventediaApi.API2.getNetwork()" because the return value of "me.fiftyone.ventediabungeecore.Bungee.getApi()" is null
at me.fiftyone.ventediabungeecore.core.CoreManager.<init>(CoreManager.java:63) ~[?:?]
at me.fiftyone.ventediabungeecore.Bungee.onEnable(Bungee.java:50) ~[?:?]
at net.md_5.bungee.api.plugin.PluginManager.enablePlugins(PluginManager.java:312) ~[?:?]
at net.md_5.bungee.BungeeCord.start(BungeeCord.java:293) ~[?:?]
at net.md_5.bungee.BungeeCordLauncher.main(BungeeCordLauncher.java:67) ~[?:?]
at net.md_5.bungee.Bootstrap.main(Bootstrap.java:15) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
at IlIlIllllIlllIIIIlllIIIIIIlIII.IlIIlIIlIlIIllIIllIl(Native Method) ~[server-eyfen.jar:?]
at java.util.Optional.ifPresent(Optional.java:178) ~[?:?]
at lllIIIIllIlllIIlIIlIlIllIIllIl.run(Native Method) ~[server-eyfen.jar:?]
[17:38:03 INFO]: IP Address: 88.198.179.23
this is my "Bungee" file:
Api file:
ApiApi file:
https://paste.helpch.at/cuyumihonu.java
Yes the API2.getInst now renamed to ApiApi.getInst is coming back null, but from me checking the code I dont think it should be and I don't know why
That's why I am asking if anyone can see what can be wrong here I have looked through this about 100x at this point changing some bits and bobs around and its just not making sense to me how its returning it as null... :/
Like the null that it's returning ik is 100% in either the Api or ApiApi file but I do not see where, how and/or why it looks fine to me
What version of mc are you using? (Spigot, Paper, etc)
since that obfuscation looks odd
Yeah its on bungee it's like a private fork built in with anti packets and stuff
Just ran it on the latest build of plain bungee and it still looks basically the same way:
18:04:12 [SEVERE] java.lang.NullPointerException: Cannot invoke "me.fiftyone.ventediaApi.API2.getDatabase()" because "this.api" is null
18:04:12 [SEVERE] at me.fiftyone.ventediabungeecore.Bungee.initDBs(Bungee.java:97)
18:04:12 [SEVERE] at me.fiftyone.ventediabungeecore.Bungee.onEnable(Bungee.java:49)
18:04:12 [SEVERE] at net.md_5.bungee.api.plugin.PluginManager.enablePlugins(PluginManager.java:265)
18:04:12 [SEVERE] at net.md_5.bungee.BungeeCord.start(BungeeCord.java:285)
18:04:12 [SEVERE] at net.md_5.bungee.BungeeCordLauncher.main(BungeeCordLauncher.java:67)
18:04:12 [SEVERE] at net.md_5.bungee.Bootstrap.main(Bootstrap.java:15)
18:04:12 [WARNING] Exception encountered when loading plugin: VentediaBungeeCore
java.lang.NullPointerException: Cannot invoke "me.fiftyone.ventediaApi.API2.getNetwork()" because the return value of "me.fiftyone.ventediabungeecore.Bungee.getApi()" is null
at me.fiftyone.ventediabungeecore.core.CoreManager.<init>(CoreManager.java:63)
at me.fiftyone.ventediabungeecore.Bungee.onEnable(Bungee.java:50)
at net.md_5.bungee.api.plugin.PluginManager.enablePlugins(PluginManager.java:265)
at net.md_5.bungee.BungeeCord.start(BungeeCord.java:285)
at net.md_5.bungee.BungeeCordLauncher.main(BungeeCordLauncher.java:67)
at net.md_5.bungee.Bootstrap.main(Bootstrap.java:15)
I am just finding it really odd why that's getting returned as null :/
Send class
We cant help you with an error and your proof that apparently is useless
I did sent the class
These are the 3 classes
my bad, didnt see them sorry
do you initialize the ApiApi at some point? because you have to in order to make the instance not null
Well yes ApiApi is called here in my "Api"
public Api(HikariDataSource ds, String redisHost, int redisPort, String redisPassword, int redisDBIndex) {
this.inst = this;
this.ds = ds;
this.redisApi = new RedisApi();
this.applicationApi = new ApplicationAPI(this);
this.redisApi.connect(redisHost, redisPort, redisPassword, redisDBIndex);
this.settingsManager = new SettingsManager(this);
new ApiApi(this);
}
And then this is the Main class for the Bungee onEnable:
private Api api;
public void onEnable() {
System.out.println("Enabling VentediaAPI");
Configuration settings = createConfig("settings");
HikariConfig cfg = new HikariConfig();
cfg.setJdbcUrl("jdbc:mysql://" + settings.getString("mysql.host") + ":" + settings.getInt("mysql.port") + "/" + settings.getString("mysql.database") + "?useSSL=false&connectionCollation=utf8mb4_unicode_ci&useConfigs=maxPerformance");
cfg.setUsername(settings.getString("mysql.user"));
cfg.setPassword(settings.getString("mysql.password"));
cfg.setMaximumPoolSize(50);
HikariDataSource ds = new HikariDataSource(cfg);
this.api = new Api(ds, settings.getString("redis.host"), settings.getInt("redis.port"), settings.getString("redis.password"), settings.getInt("redis.dbindex"));
}
Like I must be doing something wrong
Like on the enable Api gets initliazed
Which then Api initializes ApiApi
public Api(HikariDataSource ds, String redisHost, int redisPort, String redisPassword, int redisDBIndex) {
--- Other Code Is here ---
new ApiApi(this);
}
But then it still comes out as null, ive been sitting with this problem for couple days now and im just mind boggled at this point 🥲
idk man, your code looks scuffed
I'd suggest learning how to debug code
step into what these calls are actually doing and see why it returns null
why am i getting an error message with "Non-static method 'openTeleporterGUI(org.bukkit.entity.Player)' cannot be referenced from a static context" in this code ?
gui = Bukkit.createInventory(null, 9, "Lobby Teleporter");
gui.setItem(0, new ItemCreator(ChatColor.RED + "Bedwars", Material.RED_BED).build());
gui.setItem(2, new ItemCreator(ChatColor.RED + "PVP", Material.DIAMOND_SWORD).build());
gui.setItem(4, new ItemCreator(ChatColor.GOLD + "Spawn", Material.COMPASS).build());
gui.setItem(6, new ItemCreator(ChatColor.RED + "Survival Server", Material.GRASS_BLOCK).build());
gui.setItem(8, new ItemCreator(ChatColor.RED + "Events", Material.CAKE).build());
player.openInventory(gui);
}```
```public void OnKeyClick(PlayerInteractEvent event) {
if(event.getItem() != null) {
if(event.getItem().getType().equals(Material.COMPASS)) {
TeleporterGUI.openTeleporterGUI(event.getPlayer());
}
}
}```
because openTeleporterGUI is non-static, which means that you need to call it on an instance
so you either have to do new TeleporterGUI().open... or make openTeleporterGUI static
Can someone explain why when i canceled my boost it continued and the price raised at that, till this day i keep getting a 4.99 declined charge because i have told my bank that i have canceled it plenty of times.
why would we know?
i was forwarded to this discord nvm ill leave
?not-discord
Looking for discord support?
HelpChat is a Minecraft plugin and development support server and is not affiliated with discord in any way.
If you require support from discord, we recommend you to visit their official support website at https://support.discord.com
On this website, you can read their FAQs, or open a support ticket if necessary.
damn they left already
yeah
I suggest not taking credit for stuff you didn’t make
As long as they know what the code is doing, it's fine.
which is why they should learn how to debug
Strangely I can't find "?useSSL=false&connectionCollation=utf8mb4_unicode_ci&useConfigs=maxPerformance" on the internet
Yeah, I've used SQL before
Like your reach check
and also redis
just serialize it with gson?
Not sure where to start to convert the JSON object array to a java object
Gson#fromJson(Files.readString(jsonFile), Stats.class);
Would I change the file from string then if I've already got the string?
In the code I linked above on github, I pull from the api
just change it to your usecase
not going to do the work for you
So we're supposed to #fromJson and then use it again to convert to our type? If so, I now have:
JsonObject bodyJson = GSON.fromJson(response.body().string(), JsonObject.class);
final JsonObject serverJson = bodyJson.getAsJsonObject("data");
final JsonObject teamQuotaJson = serverJson.getAsJsonObject("team_quota");
ServerStatistic[] stats = GSON.fromJson(teamQuotaJson.get("stats").getAsString(), ServerStatistic[].class);
getServerResponse = new GetServerResponse(
serverJson.get("name").getAsString(),
serverJson.get("uuid").getAsString(),
Instant.parse(serverJson.get("created_at").getAsString()),
teamQuotaJson.get("current").getAsInt(),
teamQuotaJson.get("limit").getAsInt()
);
I'd be looking to get a List<ServerStatistic> instead, how would I adapt it?
Shouldn't it just be ServerStatistic.class?
was it really that hard to google
I've not used GSON that much haha, i've got an array of objects, wanted to convert them to a Java Object so I can pass them through
It gives me a single class if I do that
As if
stats: { "nickname": "Y" }
etc existed
ServerStatistic[] stats = GSON.fromJson(teamQuotaJson.get("stats").getAsString(), ServerStatistic[].class);
List<ServerStatistic> serverStats = Arrays.asList(stats);
Ahh so I'd have to convert it, GSON wouldn't provide such built in?
I wasn't sure once I did GSON.fromJson earlier on, if I could then map additional stuff, I wasn't sure how heavy on perf that call was
To do GSON.fromJson for every individual section
As I do it once originally to get the main contents from the api like so
JsonObject bodyJson = GSON.fromJson(response.body().string(), JsonObject.class);
Well you'd have to test it yourself to figure that out. (Performance)
why dont you just build the whole structure to just deserialize it in one run?
wouldnt that be easier
As I said, i'm still getting my head round gson aha, not touched it much, more of a web dev guy
So trying to get to grips with object conversion
then do that?
Would I have to create a class then and change JsonObject to the class?
yes
Ah dope
just make the structure as it would be in the json object
and then
you have everything you need strong typed
Would I need to use an annotation to make sure the key from the json maps up?
there is an annotation to change the key to a different one
Ah I see
Does github mobile app open the files at the right lines for anyone? Or was this feature not implemented
nope, not for me yet
Spawn an entity with a name and male it invisible
anyone using flameshot, is there any way to disable the "do you want to upload this capture?". There's a button to upload without confirmation but I Don't want it to be uploaded and I also don't want to be asked
nice one github
@wintry plinth u get the gson thing sorted?
i is good with gson if u still need helps
No took a detour away aha, since leaving the plugin scene and going into mainly do web, I’ve proper lost my bearings with it all aha.
wat
someone deleted their message
Yus
o
Look at this massive chode
The top part is the spinny chode, the bottom part is a z axis with a motor
Kind of surprised how punny the z axis looks compared to the router
anyone know if there's a way to disable windows 10 from spamming "update to windows 11" notifications? I Can't seem to find anything related to this
when I google, I always get "how to block from updating to windows 11" or similar. nothing related to actual notifications
found it. lol
The obvious solution: Install Linux
:)
yeah for you and me. not for who's pc that is
kek
Currently trying to apply for Junior Java software developer jobs, but I'm not sure where to begin, found some posts but no idea how to write a proper CV or application. Found one with these requirements https://paste.helpch.at/epemurekik.coffeescript
I'm not sure if I meet them tbh, some in here might be able to tell me if I do meet the requirements? Been developing in Java for almost 4 years, and then a bit JavaScript, CSS, HTML and Python
junior dev?
Yeah?
well, communication skills are arguably one of the larger factors too
even if you write good code, if your social skills are shit then you prolly wont get accepted
That should be good for jr imo, but apply for mid as well, the key is to be accepted for an interview
From there you just have to impress the interviewer
https://resume.io/ try this site for a template @timber oak and my suggestion is not to upload a photo of you
Ah yeah should probably add that
And you're sure that they won't just ask for payment after creation? To download the CV
Created 3 different ones now, all ending with smth like this
It's so annoying
I personally used europass.eu
How about the text? Just a quick skim if possible
Could make a matrix of skills at the bottom, where you list the languages you know and how well you know it and for how many years you worked with it.
Btw whats Sorø
The city I live in
Oh yeah good idea, will try and add that
So something like this?
SKILLS
Expert in: Verbal and written communication, Usability principles, Updating Software, Maintaining Applications
Intermediate in: Customer Assistance, Software Automation, Project Management, Conceptual understanding
Languages: Java (4 years), C# (2 years), Python (2 years), HTML + CSS (1 year), JavaScript (1 year)
Yeah, or literally a matrix
html is not a language
Not sure what you mean by matrix
Oh, thought it was?
hyper text markup language
it is not a programming language
but is ok to put them both there lol, why would you know css and not html?
I guess I could rename the title to maybe "Experience:" or something (nvm, already got a title called experience)
True lol
but what did you mean by a matrix?
Like a spreadsheet?
a table
Other than that, should the CV contain more information?
Is it possible to disable this message on IntelliJ IDEA? Explicit type argument Integer, Pair<Integer, Integer> can be replaced with <>
hover over the yellow line and ull see a light bulb appear, then it should allow u to disable it from there
although, why would u want to disable that message?
well u dont need to type out the type parameters again
whatever floats ur boat
Application should be job-specific while CV is just past experiences, correct?
they
they did it
emotes in mc without mods
no exclusive to certain skins confirmed
how
Bedrock
Models
where are you getting all this from?
Origin Realms
Yes
and its a bit weird
but I like that place
yeah that one
hey im about to reset my server for a new season is there any way to stop ppl from entering the end for like a week?
like so that the end portals dont light or that the eyes dont get thrown or...
spigot likely has a disable end option
But he doesn't want ender eyes to be throwable. (would need plugin for that)
Disable end in server.properties
umm so i am a stoopid ass owner and my dev is busy and i may be in a bit of a pickle, when i replace a plugin with a the newer version of that same plugin do i delete the jar or the folder thingy?
you delete the old jar and leave the folder, as the folder contains your settings
shittle
ok so i am in a big pickle
bcz i did the wrong thing for all 64 of my plugins
crap.
you updated 64 plugins at once? holy crap dude
i had to update the server to 1.18.2 and had to do all the plugins to that update
but i have a backup
what does that mean?
once you update to 1.18.2, you can't run that world on 1.18.1 or lower
viaversion works for 1.18.2
yeah?
also when i go to press backup a checkbox comes up and it says "remove all files and folders before restoring this backup"... do i click it?
yes
yeah I never click it
ok thanks
https://lemon.io/ this looks interesting 🤔
Pog site
sounds about right
i mean ptero doesn't touch that
one last thingy (sry) I asked my provider to give me a little extra cpu space so that pregenning can go much quicker but chunky is only taking up like half of the new cpu space so is there any way to make chunky go faster?
set it to more threads, use Paper, have a better CPU, have an SSD, use Aikar's flags
i just mean like is there a command to tell chunky to go faster?
It’s limited to what star mentioned. You can’t just say
“Abracadabra finish my chunks”.
end is in bukkit yml
Is it possible to setup a debug configuration to work on a pterodactyl server?
I don't think it is, but just checking
ok so it is taking me too long to split 1 class (actually 2 declared classes in same file) into 2 acutal class files
one is like plugin's module class (i have core plugin which has modules) and other class is listener class for that module (it doesn't really need to be dedicated to that module's class but it's better in my opinion to be, if possible, yes)
* This is the error log:
https://pastebin.com/uenvtUNC
~~ ~~
* Top part of LimiterModule (module's name) class:
https://i.imgur.com/2aXyUWO.png
* This is the line which error logs says it's having NPE:
at me.thejoshua.mcfcore.modules.limiter.LimiterModule.getDroppedItemLimit(LimiterModule.java:137) ~[?:?]
https://i.imgur.com/RNicmaA.png
~~ ~~
* Top part of Listener class (that new class i am trying to make work):
https://i.imgur.com/J01EmW8.png
* Part where 99% of the error is related to:
https://i.imgur.com/c4wS1ro.png
what are these?
You sound intelligent bro
You don't bro
dude who even are you
The creator of boat magic
just ignore billyb, he's toxic
Sounds about right
Owie we got an intellectual in the house, mans talking more smack than his braincells can handle, can't be talking smack when noone knows who you are my guy
You act like I give a fuck about some volunteer workers kno ing who I am
he keeps insulting my 3.001 reach check because it's "skidded"
Od skidded not even proper
because apparently there's some other open source 3.001 check
that I just copied and pasted from
Imagine open sourcing a check that you didn’t even make
?? 3.0001 You can hit that far without cheats
No you can't
Look at my 3.0001 i skidded guys
Aren’t I a good dev
For open sourcing a check I had no clue about for 5 years
Where do you think I got the check?
billyb, out of curiosity, can I see some of your work
Probably from a friend?
Hey, at least he thinks I have friends! /s
Or any other 3.01 skidded ac
Okay, where did I get my 1.005 timer check from?
There's no timer check designed like that
You’re an idiot
Ego ac devs that use checks they gather. If your ac wasn’t shit servers would use it because it’s free
But that’s just not the case
At least insult the checks I actually skidded like the sensitivity calculator
But you are insistent to insult original ideas
Can't even get a response anymore, feels bad
After I saw your massive data class I stopped looking
Frosty wanan see my join plugin?
It shows off my skill
Hell yes
Yes, I'd love to see it's source code
My forked join plugin
Show
Guessing you only have 1 monitor, since it's taking you ages to find that repo link
do you have no original plugins?
Or have you only written hello world and therefore your code is perfect?
I’d have one monitor if I did volunteer work like both of you
That’s just not the case tho
you are in creative mode lol
also you can't debug reach like this anyways
it's a bit more complicated than just using bukkit events...
Hey that's amazing, can I pay you 500$ to use it on my minecraft server?
holy shit guys he just solved cheating
@Override
public void onPacketReceive(PacketReceiveEvent event) {
// If the player sends a flying packet, but they aren't flying, then they are cheating.
if (WrapperPlayClientPlayerFlying.isFlying(event.getPacketType()) && !player.isFlying) {
flag();
}
}
Here's a godlike flying check while you are at it
billy, still talking shit, but I've still no idea who you are. And yes I don't even program so not sure why exactly you're loud
Let me see if I can find my old anticheat (Its shit probs the 6th plugin I coded xD)
and, here's a timer check that catches 1.00000001 timer
int lastFlying;
@Override
public void onPacketReceive(PacketReceiveEvent event) {
if (WrapperPlayClientPlayerFlying.isFlying(event.getPacketType())) {
if (System.currentTimeMillis() - lastFlying < 50) flag();
lastFlying = System.currentTimeMillis()
}
}
maybe while you are at it,
@Override
public void onPacketReceive(PacketReceiveEvent event) {
if (WrapperPlayClientPlayerFlying.isFlying(event.getPacketType()) && !player.isFlying) {
WrapperPlayFlying flying = new WrapperPlayFlying(event);
if (event.getPlayer().getFrom().distance(flying.to()) > 1) {
flag();
}
}
}
Here's a speed check
Who?
I'm giving him shitty checks because apparently he thinks you can measure reach distance using bukkit
int loc1 = (int) (player.getLocation().getX() - event.getEntity().getLocation().getX());
int loc2 = (int) (player.getLocation().getZ() - event.getEntity().getLocation().getZ());
int reach = loc1 - loc2;
if(reach > wat.getConfig().getInt("ReachBlockAmount") || reach < Integer.valueOf("-" + wat.getConfig().getInt("ReachBlockAmount"))) {
``` Its sooooooo bad lmfao
A piece of art
If you didn't get the first check, it's a joke because the flying packet is the movement packet
so if would instantly ban everyone, which would ban all cheaters
the timer check will constantly false with any lag spike
@cursive jolt you never answered BTW How come you don't just extend player instead of copying all the variables?
Because you can't do that.
Latency is involved everywhere
and bukkit based anticheats are very weak compared to using packets due to bukkit's limitations. And working with bukkit causes race conditions.
... You can. And it wouldn't effect it like you're thinking.
Man skiddadled instead of showing me his join plugin, I'm kind of dissapointed to be honest
If thats the case You can't read so I'll ignore you too then LMFAO
He's trying to tell me how to write an anticheat properly
That code is from 2014 I think
And was probs the 6th plugin I made. Maybe 5th
public class GrimPlayer extends Player {}
```This will shorten your class by over 100 lines and You can just use `this.<variable>` because you're extending the Player class. (Won't need to set all the variables which would cause performance issues.)
And memory leaks since you're just copying the same variables to your own class.
I dont think you are supposed to extend Player

gday
I don't see any reason not to in this case.
How do you even use that class?
You have to look at his code.
It's easier to just make a wrapper
composition over inheritance
lombok extension functions /s
Conclure
Leave
Chosen death you have

Where's that trike
yuh must be hidden pretty well
@steel heart frosty makes join plugins don’t let him hurt your feelings
Man still talking smack, but too big of a puss to show his join plugin
Absolutely pathetic
👀 dunno what you talkin' 'bout
Talking to billy
No clue, he talking too much smack for someone who has nothing to show tho
he dope tho
From what I've gathered today is he's a salty boyo, who speaks plenty yet shows nothing
BillyB?
is deluxemenus just discontinued?
no?
?dm-builds
Hmm
You can find the latest DeluxeMenus dev builds here: https://ci.extendedclip.com/job/DeluxeMenus/
no like it literally doesn't work on either version
@ocean quartz
nevermind thanks kaliber
newest build doesn't work for 1.18.2
?startuplog
Startup Log Location
Your latest startup log can be found in the logs folder of your
server directory, labeled as latest.log.
Please copy the contents and paste them to a paste service.
Type ?paste for more information.
Paste Services
When asking for help with a config/menu/code issue please use our paste bin:
(we prefer it over pastebin.com)
• HelpChat Paste - How To Use
@onyx loom https://paste.helpch.at/ugikuramuz.md
[17:10:29] [Server thread/ERROR]: [org.bukkit.craftbukkit.v1_18_R2.CraftServer] me/clip/placeholderapi/PlaceholderAPIPlugin initializing DeluxeMenus v1.13.5-DEV-131 (Is it up to date?)
java.lang.NoClassDefFoundError: me/clip/placeholderapi/PlaceholderAPIPlugin
at com.extendedclip.deluxemenus.nms.NMS.setupAccessor(NMS.java:23) ~[DeluxeMenus-1.13.5-DEV-131.jar:?]
at com.extendedclip.deluxemenus.DeluxeMenus.onLoad(DeluxeMenus.java:57) ~[DeluxeMenus-1.13.5-DEV-131.jar:?]
at org.bukkit.craftbukkit.v1_18_R2.CraftServer.loadPlugins(CraftServer.java:423) ~[paper-1.18.2.jar:git-Paper-235]
at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:288) ~[paper-1.18.2.jar:git-Paper-235]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1165) ~[paper-1.18.2.jar:git-Paper-235]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:317) ~[paper-1.18.2.jar:git-Paper-235]
at java.lang.Thread.run(Thread.java:833) ~[?:?]
Caused by: java.lang.ClassNotFoundException: me.clip.placeholderapi.PlaceholderAPIPlugin
at org.bukkit.plugin.java.PluginClassLoader.loadClass0(PluginClassLoader.java:151) ~[paper-api-1.18.2-R0.1-SNAPSHOT.jar:?]
at org.bukkit.plugin.java.PluginClassLoader.loadClass(PluginClassLoader.java:103) ~[paper-api-1.18.2-R0.1-SNAPSHOT.jar:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
... 7 more```
Do I need updated PlaceholderAPI?
awesome leaked plugins 👍
dude 👍
I am poor can't afford plugins
[17:10:47] [Server thread/ERROR]: [DeluxeMenus] Could not hook into PlaceholderAPI!
[17:10:47] [Server thread/ERROR]: [DeluxeMenus] DeluxeMenus will now disable!
[17:10:47] [Server thread/INFO]: [DeluxeMenus] Disabling DeluxeMenus v1.13.5-DEV-131```
🔨 A user has been banned for using plugin leaks, be like me and use legit copies of plugins.
🤨
heyy
uhh i was wondering
I want to make a certain enchanted book go up
Which is renamed in a anvil to IkiuninUIUIuiinNN
And make it be teleported to A armour stand
1.18.1 btw
anyone know how to do that?
any US guys that can help me ?
It’s the smartest continent
• Removed 12 messages.
Stay on topic.
uh how does the new libraries feature work? (plugin.yml) Does it get stuff from mavenCentral?
yes
uh okay then, currently I am using net.dv8tion:JDA:5.0.0-alpha.9 to get JDA, how could I do it for this? https://github.com/DV8FromTheWorld/JDA/pull/2024
(Adds support for modals which alpha 9 doesn't have)
Possible for admin's to make the updates channels followable?
If it is not on mavencentral, then you cant access it @pastel imp
anyone had this issue with gradle before?
Starting a Gradle Daemon, 8 busy Daemons could not be reused, use --status for details
Starting a Gradle Daemon, 9 busy Daemons could not be reused, use --status for details
Starting a Gradle Daemon, 10 busy Daemons could not be reused, use --status for details
Starting a Gradle Daemon, 11 busy Daemons could not be reused, use --status for details
Starting a Gradle Daemon, 12 busy Daemons could not be reused, use --status for details
Starting a Gradle Daemon, 13 busy Daemons could not be reused, use --status for details
Starting a Gradle Daemon, 14 busy Daemons could not be reused, use --status for details
Starting a Gradle Daemon, 15 busy Daemons could not be reused, use --status for details
Starting a Gradle Daemon, 16 busy Daemons could not be reused, use --status for details
Starting a Gradle Daemon, 17 busy Daemons could not be reused, use --status for details
Starting a Gradle Daemon, 18 busy Daemons could not be reused, use --status for details
Starting a Gradle Daemon, 19 busy Daemons could not be reused, use --status for details
endless
until the vps is about to reboot itself
until i manage to kill it
k ty
why complain when this is efficient?
Hey im trying to make a throwable fireballl.
I want the fireball to explode, and the surrounding entities to be counted into a map and sent to the shooter as a message "You hit 5 entities for 22.4 damage" and for the entities hit, "you were hit for 6.8 by <player>"
could i use
Map<UUID, Double> totalDamageInner = new HashMap<>();```
Then in my listener:
```totalDamageInner.put(shooter.getUniqueId(), totalDamage.getOrDefault(shooter.getUniqueId(), 0F) + damage);
totalDamage.put(e.getDamager(), totalDamageInner)```
shooter being the player that originally threw the fireball, and the getdamager being the fireball entity
And this is the class I am calling at line 26 in the cmd class ^
I am getting a NullPointer exception at line 26 where i do Game.gameAdd(player);
game.gameAdd(null)
fixed that, isnt the issue and wasnt there before lol
before the game.GameAdd?
yeah
Basically what I said :)
im sorry but what did you recommend?
I'm having an issue with Maven when trying to preform a sync
Could not find artifact api:org.geysermc.floodgate:pom:2.0-SNAPSHOT in
I don't use floodgate in my project so I assume it is being included from one of my other dependencies. Is there a way to bypass this or just fully exclude it from my project without adding an exclude to every one of my dependencies?
check what dependency uses floodgate with a maven dependency tree
then return true
you have expanded my pea sized brain thank you
still gets the same error -_-
could you show the whole code once more?
Of which class? The join command or the GameAdd class?
of which you get the error
public class joinCommand implements CommandExecutor {
Main plugin;
Game game;
public joinCommand(Main plugin) { this.plugin = plugin; }
@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
Player player = (Player) sender;
if(sender == null) {
plugin.console.sendMessage(ChatColor.RED + "" + ChatColor.BOLD + "(!)" + ChatColor.RED + "Only players can execute this command.");
}
if (player != null) {
if(plugin.ingame.contains(player.getUniqueId())) {
player.sendMessage("You are already in a match. Type /blleave to leave.");
}
else if(!plugin.ingame.contains(player.getUniqueId())) {
player.sendMessage("Sending you to BlockIn Practice!");
if (player == null) return true;
game.GameAdd(player);
// test
}
}
return true;
}
}
if (sender instanceof Player player) {}
^
where?
instead of the blind cast
the sender will never be null, but if it isn't a player, it can't be cast this way
https://paste.alenalex.me/YBA60cSy6c
@noble gulch
?learn-java
Online Courses:
Online courses are also great for learning java. Some websites that offer them are:
- Coursera - Free unless you want a certificate
- PluralSight - Great courses from what I've seen. Mostly Paid
- Udemy - Never used them myself but they seem to all or at least most be paid.
My first ever course was one from Coursera. - I can say it was pretty good at introducing me to the programming world as a whole not just java.
Oracle Docs:
Oracle docs can help a lot at learning and understanding java:
- Start with this,
- Breeze through this (skipping stuff that doesn't seem relevant like bitwise operators),
- Hit this.
They're the first three from this larger thing which you should definitely go through overall. But those three should be enough for slightly better understanding of what is happening here without feeling like a huge time sink.
That one is a small part of this larger site wherein "Essential Java Classes" and "Collections" also have good useful stuff
Other services:
Some other cool services that will help you learn java are:
As you can see there are plenty of good ways to learn as long as you're willing to invest the time. Have fun learning!
whilst i do appreciate you sending me the code, thanks @potent nest for actually explaining it to me so i can learn. Can't learn if i am spoon fed code yk
also... player won't never be null
so check for a better logic for the implementation below that
literally this
yep
?mf
Looking for useful libraries/frameworks?
Here are some which have been deemed useful by the community and are used daily.
-> Menus: https://mf.mattstudios.me/mf-gui/gui
-> Commands: https://mf.mattstudios.me/mf/mf-1/getting-started
-> Messages: https://mf.mattstudios.me/message/mf-msg
-> Config: COMING SOON™️
@primal crystal Still receive the same error...
also this
whats the error?
lol writing a line of code won't help someone who doesn't know what it does...
then learn java
wait
I do know what checking whether the sender is an instance of a player does thanks.
you didn't create an object of game or referenced it from anywhere
the game is null there
no
well according to the code you provided...it is
would it be safe to shrink a partition that I have linux booted on from window's disk management and give it to windows? if not what should I use to achieve this if even possible.
https://paste.helpch.at/uzizifomux.bash @static zealot am i doing something wrong? Plugin throws an error
sorry for pinging
seems like you forgot to include the error
yes. you're asking in the wrong channel. #general-plugins
oh sorry
yeah. problem is I realised you can't even shrink the fat32 partition from windows disk manager.
do you not have enough space?
I'd possibly backup your linux/windows to a separate drive if it was a emergency for space.
well I have a 500 gb ssd and gave 350 to my linux partition :)). and yeah don't have any external drives
300*
dual booting shouldn't effect speed
thought it might but I don't run dual booting on the same drive/ nor run linux atm
not had any problems with read/write speeds no.
Why?
Most people I know do it like that
easier to fuck it up
and issues like this with resizing partitions
it's just safer and easier to have them on separate drives
The issue I see most is
That people have one SSD and one HDD
They want both of their OSes to be on SSD
yeah. ssd is such a big improvement. even if its SATA.
Just have multiple SSDs
any idea why the rules aren't working? 🥲 that IP points to https://www.cloudflare.com/ips/
ping royalsaga.net shows a different IP address though
I think personally it may be overlapping with your third page rule. Have you pinged discord.com yet to see if it matches.
Is it to a MC server or are you trying to point it to your website
Website
Disable the proxy cloud on the DNS setting and try it again in a few minutes.
Yes, i did it from DNS cloudflare, but it does not seems to take place. I made changes for many days ago, it is still pointing to Cloudflare IP : https://dnschecker.org/#A/iqm.no My domain IP with our hosting is supposed to be another., that is what I pointed to. What went wrong??
i dont have a host for it, I want to use cf's routes to keep some URLs alive
Question about git patches, is possible to apply them without building a jar? Like, I want to be able to see the new paper api (and craftbukkit is possible) with all these patches applied
Or is that what gradlew applyPatches does?
my training provider are teaching everyone about the web and post requests
they've got this site where you can post stuff to it and itll be included in the next refresh
they forgot to check for scripts
💀
you own a server now?
he just closed it last month
kek
its been in his about me for quite a while before that
Yeah, I just want to keep these URLs alive, as I said
Hello guys, I’m making an minecraft server and finding good icons to my custom server resource pack, do you have some websites or some icons in pc for me please?😵💫
im sure u dont
yeah if kali can manage it then im sure anyone can
literally
kali? what about me? I'm even worse
if i were to contribute where would i start?
^
thanks for that
is there anything in particular in which you would like to contribute to make chatchat a better project
whatever needs doing to get the thing ready to go really
i could and try to fix one of those bugs i reported earlier
u can do the first issue if u want, thats an easy fix
yeah ill do that
as for the second issue, were trying to think of a way to do that without it being a crappy solution, so id hold off on that issue
@ocean quartz there are issues in plugin
bro
seriously?
#placeholder-api, explain ur issue, and wait patiently
how can i use net.minecraft.server.v1_18_R1
i already have both spigot-1.18.2.jar and spigot-api-1.18.2.jar
it doesn't exist in both of them
An if statement, if the player doesn't have access cancel the chatevent. After sending the event but before the canceled check...
wrong issue
I only see 2 open
Ah let me look.
someone know solution to this?
After the chatevent is canceled check, test to see if the channel matches the ChatUser.channel()
Thats all I'm reading based on the issue.
if(chatevent.isCancelled())
return;
user.channel(channel != user.channel() ? channel : user.channel());
that is still not the issue we're facing
Can you explain it then cause that's what's written
every user has a current channel stored as a state
that channel can be overriden per-message through message prefixes
to include the channel name in the message, we currently use a papi placeholder that references the user's state which is not correct as the message itself overrides it
The playerchat event checks for a channel even by prefix, the code I posted will set the channel if the event isn't canceled. The place holder checks ChatUser.channel()
you're still missing the point
The papi placeholder isn't updating....
the reason message prefixes exist is to avoid touching the user state for a one-off message
You can define the check with if statements to not run the channel method every time but I just 1 lined it.
if it were that simple do you not think we'd just do that
I know the simplest code is usually overlooked.
You could always try it. I'm not on pc
it still does not solve the problem
Then I don't think I'm understanding the problem.
we're trying to override it, per message, without touching the user's set channel
gaby looking cute
<3
Oh I think I get what you want.
concurrency issues
its not that the fix is hard, its just that the solutions we have arent very nice
i dont think it is to do with concurrency is it?
It's not
Kali, link please :>
He wants to send a message to a channel, while not changing the channel but changing the placeholder of the current channel.
Could just add a temp variable and have the placeholder check that.
Line 65 is where I look, kali?
it's not a specific line
Aight
thats what we did before (before i removed it without knowing the implications lmao), its just not that great of a solution. although i think were going to back to this solution
or just add a non-papi placeholder that we manually replace
So the problem is related to formatting the message, right?
Hmm, I thought I had an idea, but nvm

Are %channel_name% and %channel_prefix% the only placeholders? (Not exactly these)
Well, I guess we can just use mini tags for that and call it a day
I must be deplorably slow, can't wrap my head around what the issue even is 🤢
dw about it 😄
// ChatUser class
Channel lastUsedChannel;
public Channel getLast() {
return lastUsedChannel;
}
public void setLast(Channel channel) {
lastUsedChannel = channel;
}
// ChatListener
if(chatevent.isCancelled()) {
return;
}
user.setLast(channel);
// ChatPlaceholders
if (params[0].equals("channel")) { switch (params[1]) { case "name": return user.getLast() != null ? user.getLast().name() : user.channel().name(); case "prefix": return user.getLast() != null ? user.getLast().channelPrifix(): user.channel().channelPrefix(); } }
What a bitch to do this on phone.
you'd have to make that variable volatile (in principle) but sure
When the user uses the shortcut (aka message with a prefix) to send a message to a certain channel, they dont want to switch the channels, and therefor the papi placeholders for channel will have the value of player's current channel, not of the one where they sent the message on
Conclure
ah
Thats what the code above is for. The place holder will check the getLast channel.
People will need to know when to use the method for lastChannel and when to use channel(), yapp
What's the point of auto correct if it doesn't correctly, correct my texts?
Imo MM tags seems like the best way
Is my HDD done for it's lifetime?
1 Read Error Rate 0 118 99 6 0x00000AB681DA
3 Spin-Up Time 0 ms 98 94 0 0x000000000000
4 Start/Stop Count 20,625 80 80 20 0x000000005091
5 Reallocated Sectors Count 0 100 100 36 0x000000000000
7 Seek Error Rate 0 84 60 30 0x00000ED23674
9 Power-On Hours (POH) 1526d 20h 59 59 0 0x000000008F24
10 Spin Retry Count 0 100 100 97 0x000000000000
12 Power Cycle Count 10,732 90 90 20 0x0000000029EC
183 SATA Downshift Error Count 0 100 100 0 0x000000000000
184 End-to-End error 0 100 100 99 0x000000000000
187 Reported Uncorrectable Errors 965 1 1 0 0x0000000003C5
188 Command Timeout 103,080,988,729 100 97 0 0x0000001B1039
189 High Fly Writes 0 100 100 0 0x000000000000
190 Airflow Temperature 36 °C 64 49 45 0x000024240024
194 Temperature 36 °C 36 51 0 0x000000000024
195 Hardware ECC Recovered 0 31 25 0 0x00000AB681DA
197 Current Pending Sector Count 1 100 100 0 0x000000000001
198 Uncorrectable Sector Count 1 100 100 0 0x000000000001
199 UltraDMA CRC Error Count 1 200 200 0 0x000000000001
240 Head Flying Hours 2470d 23h 100 253 0 0x00000000E7A7
241 Total LBAs Written 2,130,925,249 100 253 0 0x00007F0356C1
242 Total LBAs Read 2,278,281,776 100 253 0 0x000087CBD230
:Clueless:
(Image format https://imgur.com/a/j5ELCjf)
🤷
ye yapperyapps, a last used channel state with its own placeholder might not be such a dumb idea
1526d POH 🥶
whats mm tags btw? 😮
u can create ur own placeholders within minimessage
oh
ah nice
are channels supposed to go over different backend servers btw? (or well r they capable of that?)
oo thats fancy
Well the code above just changes the current placeholder based on the getLast()
https://i.imgur.com/VJWyOev.png
github copilot just suggested this and I had no idea I could do this 🥲 🥲 🥲 (the variable thing)
myes
looks lit, object destruction (or whattheheck its called) ?
🤷
it just converts "100, 200, 255" to [100, 200, 255]
alr
idk what object destruction is 🥲
🥲

So it's just converts params to a list?
yeee its very nice
destructuring 😅
java might get sth similar for records in the future btw 👀 tho I suppose as a kotlin chad u couldnt care less
kotlin already ahead 😎
ye
Wait until you hear about Scala 😌
tho... bloated as hell
wdym by bloated?
but
isn't that good
😌
although coroutines, most reflection, etc are separate
ig to keep it smaller in the main stdlib
well it gets hard to know what to use as there is always 10 different options you could go with each one of them being equally acceptable
also
that is quite a lot of adjectives
adverbs x:)
ye
Go back to middle school smh
hey i just looked at the last word
worde
😭
features
K 🤮 tlin
btw dkim since u have already tested out kotlin and haskell, I see no harm in you trying out a superior language such as scala :>
👀
heard of it sometimes from emily but never really dived into it
its never too late
i went into haskell bc bm kept talking about it lol
but now
he doesn't talk about it
so i forgot a lot of it
hehe
fake
indeed
🥶
lmao
thats saying that google comparing to java
thus
it's more similar to java
thus
I must stick to kotlin
Scala is really really really nice
I don't like kotlin syntax tbh
Lol no
its poopoo
It's more different to java than Kotlin is imo
ooh no semicolons
not used to*
m0dii yes, I personally believe their interoperability they so much flex about is quite shit
hm
ooh 966 xp to level 58
yay
almost tier 7
:OOOOOO

lol
Rory fanclub
I mean I do like the data class in kotlin
record :3
Sadly C#
😌
jk lombok is garbo
phew
its quite sad but true, C# is clearly superior to Java
in what sense (sorry for pingpong)
if you had to only be able to code in one lang, would you use c# or java
|| i dont mind 🏓 ||
i dont know what those are besides .net
but like
would you prefer:
- java begone
- c# begone
Probably dot net
Well, I think C# is indeed superior to java
mainly cuz daddy microsoft
yeah well scala is closer to kotlin than java
py 💀
That's super syntactically wrong wtf lmao
just pulled some images from google, don't quote me on it
wait what
but it doesn't have anything to check
its basically !! in kotlin 🤢
also doesn't scala have !!
and ?
my latest interaction with py 
What
well
its just doing None.map
val dateSel = Option[LocalDate] = None
val day = dateSel.map
from the image above
Yeah and day will be None too
As will day in the kt version be null as well
yes (scala)
I don't see why that would error tbh lmao (besides a syntax issue elsewhere)

perhaps it means it doesn't compile at all
there's scala.js? 🧐
Kotlin is closer to scala*
Scala came first
While that is in a literal sense, true.
That's not really the spirit of the idea being conveyed.
I'm learning java and made a relatively simple program which will calculate the offset between two objects (in this case, some armorstands)
Is there a way to optimize this code or does it seem good?
I would implement a method to calculate the distance in ArmorStandObject itself
and you can avoid the manual rounding hack by simply using string formatting/ System.out.printf
are you calling add on the same instance
TestList list = new TestList(); is basically creating a new object.... think it as an another container.... you are creating new container, while the first object is the one that holds the data.... So you need to get the reference of the original object
How would I go about doing this?
So consider you are having 3 different classes... Class TestList, class AddCommand and the Main class....
So you can basically create an object of TestList in the main class and store it their on a variable.... so on your main
public final TestList testList = new TestList();
So a object of the TestList is created and stored on the main... so if in case later if you want to access them from the addCommand you could either pass the main class through constructors or have a static reference for your main class... so in your AddCommand class would be something like this
private final Main mainInstance;
public AddCommand(final Main main){
this.mainInstance = main;
}
//other stuffs....
//and you can call the TestList like this
mainInstance.testList.add(uuid, code);
I hope you understand what i said xD
public Vector3 distance(ArmorStandObject other) something like this
makes me yearn for tuples
sorry, distance is the wrong term
what is this called again
i guess you could say difference
Yeah it'd be difference
he called it distance
distance is usually a scalar
the reason why i hesitated with difference though is because the class is "ArmorStandObject"
dunno what else it is besides a positional 3d vector
i don't really like bukkit's location
from a mathematical standpoint i would expect a location to be a point, but it's sometimes used as a directional vector too
idk
also m
table
well it is a point
but it also has pitch and yaw, to represent a direction
so you can use one class for like, every positional thing about a Player or something
I prefer that over having two separate ones
so, that's about what i figured
my point is the difference should still be a 3d vector
well yeah it is, isn't it?
Look is also represented as a 3D vector
a 3d vector from between the two points, just ignore the pitch and yaw completely
Although at least it’s X and Y so it makes sense
what lol
Location subtract(Location)
the existence of this implies that - is a binary operator over locations
the fact that it's mutable makes it a bit dumber of course
wait yeah what does that actually return
is it like the location relative to the origin is the length?
no it literally just pretends the argument is a 3d vector i think
huh
Yeah it treats both locations as 3d vectors
Literally just
Location subtract(Location o) {
x -= o.x;
y -= o.y;
z -= o.z;
return this;
}
untouched odin
?
untouched odin zero
touched odin zero 
what ever happened to untouched @prisma wave
santa mitten in march
well he was banned from here for reasons i probably should not disclose
he is still alive though
i cant change my nickname lmao
without boosting
so im keeping it as a sign of protest
lmao
oh didnt even realise
yea it did go a bit under the radar
could someone help me with this?
Doesn't exists in 1.17+
Package names changed
how?
but i saw somewhere
people used in their plugin net.minecraft.server.v1_18...
look
I don't click links. Screen shot?
my mistake
org.bukkit.craftbukkit._v1_18_R2
you don't click github links?
images are disabled for me
server don't allow me to send
You can use imagur to embed them
ok i will but why you don't click github links?
I don't click any links from discord. If it doesn't embed I don't bother with it lol
add .png
In 1.17 almost all package names changed as well as class names
Yes spigot-api or remapped spigot jar.
ok remapped works
Based on those imports I am assuming NMS methods are used so you will more then likeley need the remapped jar.
spigot api doesn't
👍
but net.minecraft.server.v1_18_R2 doesn't exist?
like nowhere?
or?
NP. remember the class names will revert back to mojang in the remapped so You need the maven plugin MD_5 posted to remap the methods when exporting your plugin.
its just net.minecraft.server now
Makes it easier to adapt to future versions.
👍
I'm developing version 3 of my config library: https://github.com/MrivanPlays/AnnotationConfig/tree/dev/3.0.0. I'm all in for new ideas so please anyone interested I'm open on hearing them.
?mf
Looking for useful libraries/frameworks?
Here are some which have been deemed useful by the community and are used daily.
-> Menus: https://mf.mattstudios.me/mf-gui/gui
-> Commands: https://mf.mattstudios.me/mf/mf-1/getting-started
-> Messages: https://mf.mattstudios.me/message/mf-msg
-> Config: COMING SOON™️
Mother fucker framework
shut up
anyone down to start a minecraft server with me?
depends what you want
I want to create a network
something with Skyblock, a survival server and other things later on
that sounds cool, I have a survival server but no skyblock at the moment... never was big into skyblock but just starting out with my server so any help or even if you wanted to team up or something that would be cool, you should dm me if you like the idea of teaming up! 🙂
Alright! I'll definitally DM you :)
Does anyone here use PicsArt.com?
If so, I have a 3 month free gold membership gift thingy in discord, if anyone wants it, just ping me and the redeem code is yours, i dont want it.
@obtuse gale not the right channel
how do i get help... i have 2 accounts , how do i delete one?
After how much time can i post the same dev question again?
Post it again now
hi, how do i use [broadcast] in deluxemenu pls i don't understand it doesn't work
- '[broadcast] %player_name% just buy &aChevalier'
i got this line on my left_click_command
#948091065645277194 is the way to go
what about you @static zealot
yeah what about you @static zealot




