#help-development
1 messages · Page 633 of 1
I mean, I run Linux Mint 21.2 with several java versions installed and it compiles just fine for me.
I run BuildTools with Java 8 manually if I ever need to build older versions.
What about it doesn't work? It looks like it's fine to me.
if i click it, it doesnt respodn
PDC no?
PDC what?
Your check probably doesn't meet the criteria.
You should be using the PDC anyways to compare custom items. At least it makes everything easier to work with.
?pdc
well its either that or their methods don't respond with something?
the stuff after the if sentence works, but apperently the if sentence is false
every time i click it
Hello, how can I make a natural brightness for my block display ?
I tried this :```java
public static Display.Brightness calculateBrightness(Block block){
byte max = Collections.max(Arrays.stream(BlockFace.values()).map(face -> block.getRelative(face).getLightFromSky()).toList());
return new Display.Brightness(max, max);
}```But the result is not really accurate
doesnt it work if you dont set the brightness at all?
Yeah just leave it default
I have a question about hypixel the box is a customHead on an armorstand?
I made a custom head on an armorstand and it is smaller than the hypixel custom head why?
#help-development message
what version are you on?
1.19.4
is there a way to run a task from inside itself?
this.runTask() results in an illegalstateexception which makes sense
the only limit of size is your imagination and minecraft coding
there is a block inside the display
so I got a black display...
with that ?
item.setPickupDelay(Integer.MAX_VALUE);
item.setVelocity(new Vector());```
then just dont have a block inside the display
look at paulem for example, he uses the same method
how u defind the size ?
.
I need it !
- How to get advancement title (like "Diamonds!" or "Stone Age")
- Why doesnt advancement.getDisplay(); work?
look at ur dms
the natural brightness
'cause there is a block inside
Use a transparent block then
I want to make a custom block using customModelData
I want to break it
okay?
I want a stone inside then my block will have the properties of a stone
for example
Here is the results :java System.out.println(max);// 0 System.out.println(block.getRelative(BlockFace.UP).getLightFromSky());// 15 System.out.println(block.getLightFromBlocks());// 0 System.out.println(block.getRelative(BlockFace.UP).getLightFromBlocks());// 0 System.out.println(block.getLightLevel());// 0 System.out.println(block.getRelative(BlockFace.UP).getLightLevel());// 15And here is my block :
[19:39:50 ERROR]: Error occurred while enabling HytteMiner v1.0 (Is it up to date?)
java.lang.NullPointerException: null
at com.marqus.hytteminer.HytteMiner.onDisable(HytteMiner.java:77) ~[?:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:323) ~[patched_1.8.8.jar:git-PaperSpigot-445]
at com.marqus.hytteminer.HytteMiner.onEnable(HytteMiner.java:29) ~[?:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321) ~[patched_1.8.8.jar:git-PaperSpigot-445]
at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:332) [patched_1.8.8.jar:git-PaperSpigot-445]
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:407) [patched_1.8.8.jar:git-PaperSpigot-445]
at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugin(CraftServer.java:359) [patched_1.8.8.jar:git-PaperSpigot-445]
at org.bukkit.craftbukkit.v1_8_R3.CraftServer.enablePlugins(CraftServer.java:318) [patched_1.8.8.jar:git-PaperSpigot-445]
at net.minecraft.server.v1_8_R3.DedicatedServer.init(DedicatedServer.java:203) [patched_1.8.8.jar:git-PaperSpigot-445]
at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:563) [patched_1.8.8.jar:git-PaperSpigot-445]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_312]
Whats the problem here?
line 77 in HytteMiner
whats in your onDisable, line 77
show your onEnable and onDisable code

it's onEnable not onDisable
oh wait
huh
why does it call onDisabe while enabling
setEnabled -> onDisable
onEnable calls onDisable lol
why not, the "impossible to enable" plugin
what did i just see
package com.marqus.hytteminer;
import com.marqus.hytteminer.Commands.HelpCommand;
import com.marqus.hytteminer.DatabaseManager.DatabaseConnector;
import com.marqus.hytteminer.License.AdvancedLicense;
import com.marqus.hytteminer.Listeners.DbStatementListener;
import net.luckperms.api.LuckPerms;
import org.bukkit.Bukkit;
import org.bukkit.Server;
import org.bukkit.plugin.RegisteredServiceProvider;
import org.bukkit.plugin.java.JavaPlugin;
import java.sql.SQLException;
public final class HytteMiner extends JavaPlugin {
public boolean dbStatement;
private DatabaseConnector database;
private static HytteMiner instance;
@Override
public void onEnable() {
saveDefaultConfig();
//HolographicDisplays implements
if(!Bukkit.getPluginManager().isPluginEnabled("HolographicDisplays")) {
getLogger().severe("HolographicDisplays er ikke installeret eller aktiveret");
getLogger().severe("Dette plugin vil blive deaktiveret");
this.setEnabled(false);
}
//Listeners registrering
getServer().getPluginManager().registerEvents(new DbStatementListener(), this);
//License Registering
if(!new AdvancedLicense(getConfig().getString("license"), "http://license.marqusdev.dk/verify.php", this).register()) return;
// Main instance
instance = this;
// Database
database = new DatabaseConnector();
try {
database.connect();
} catch (SQLException e) {
dbStatement = false;
}
// load
getCommand("hytteminer").setExecutor(new HelpCommand());
// Config fil
// String car = getConfig().getString("car");
// LuckPerms API
RegisteredServiceProvider<LuckPerms> provider = Bukkit.getServicesManager().getRegistration(LuckPerms.class);
if (provider != null) {
LuckPerms api = provider.getProvider();
}
}
//main instance method
public static HytteMiner getInstance() {
return instance;
}
@Override
public void onDisable() {
// database stop connection
database.disconnect();
}
}
?paste
@nimble oxide database is null
when a plugin gets disabled in onEnable, and something in onDisable uses a value that may not have been yet initialized (because onEnable did not go through), an error will arise in onDisable
Waait, it worked without before
what's that?
its my database
i pasted it
that's probaly why there's onDisable in the error
so whats the problem?
your database is null
there isn't any database connected
but it worked out before tho without any database information?
if(!new AdvancedLicense(getConfig().getString("license"), "http://license.marqusdev.dk/verify.php", this).register()) return;
i mean, it shouldnt be null tho
Is there any "rules" on code that runs every tick?
well it must not kill the cpu
wdym, its for advancedLicense
doesnt look like its supposed to be null on disable lol
Well obviously lol
you return before you init the database
I see
I'll be looping 100000 times every tick actually
if the license is not valid, the method will not initialize the database
???
@nimble oxide you are disabling your plugin before initializing your database
its not hooked up with the database bro
because you early returned
that's why database is null
i didn't say that??????????
wtf
that's it
does your license stuff return?
cmon let 1 people help, 5 people is fucking frustrating a confusing
just put your database init code before HolographicDisplays check code
if(!new AdvancedLicense(getConfig().getString("license"), "http://license.marqusdev.dk/verify.php", this).register()) return;
database = new DatabaseConnector(); // THIS LINE IS NOT FUCKING CALLED IF THE LICENSE IS INVALID
Or move it to the @onLoad() method.
this license stuff isnt allowed on spigot anyway
its for my own server
who is marqusdev
also don'T you have an ssl cert?
if people gets my plugin
oh its him
there's everything wrong
@nimble oxide do that
https://paste.md-5.net/rezeqenava.java
and is disallowed by the rules
yeah I just have to move the license down right?
like i said, everything wrong right there
the database up 😉
but isnt it just if I upload it
instead of returning, do this:
if(!new AdvancedLicense(getConfig().getString("license"), "http://license.marqusdev.dk/verify.php", this).register()) {
Bukkit.getLogger().severe("The license is invalid");
getServer().getPluginManager().disablePlugin(this);
return;
}
however even THIS is wrong, because you STILL!!!! have not initialized your database if the license is invalid. so instead, initialize the database BEFORE!!!!!!!!!!!!!!!!! you check for license.
why would you make a license system otherwise lol
Please wake up.. Jeez, I said it was for my own server, if people gets my plugin, so they cant use it-
Thanks for the help though, but 5 people fkn saying something different is extremely confusing.
if someone gets your plugin they can remove the license check within a minute fyi
lol
The police will be at your home if you use that in your code 
yeah yeah, ik bút everyone can no matter what, if they really want.
yeah so what's the point
Just an extra security lol
theres no point
securing a jar file 😭
its not everyone who knows how to decompile a plugin?
if someone went to the lengths of getting your privately stored plugin
they probably know a bit about decompiling
welcome to the internet
yeah sure, but they would had to get it through my file manager first lol
you just open the jar in this program, and they got your code lol
why implement a license system then in the first place if nobody has your plugin WTF
welcome to the easiest internet
why are you caring so much about my stuff, jeeez,
exactly, so what the fuck is the point, if they get their hands on your plugin they will remove the license check
there are web tools? fancy
you came here for help, we're giving you help
yeah but that is useless
someone make them webtools
i feel like you already understand that you don't need a license system but you are arguing for the sake of the argument
(ZBLL will get angry)
(grrr)
(🦁)
we are arguing because it leads to you asking us here for help with it
It's alright, if you say so, I cant change yours opinion.
as we can see here
wait why ping me :thinkin:
oh
dev help
if someone is advanced enough to get to your file manager, but they cannot decompile your plugin, then i have many questions to that very person
maybe someone can help me 🤓
bro use your time on something else than caring too much about my stuff lol
i bet you aren't even obfuscating it (spoiler: obfuscating it will probably slow them down another 45 seconds)
I want the display's brightness to be natural
ok, bye

Thanks, bye.
and ????
Wtf is your problem, you really got a 10 year olds mentality, holy.
15 yo, no problem, he wants to code
again, maybe you didn't read it.
you are trying to make an utterly useless licensing system.
then, you're asking for help here. You issue lies in the fact that that license isn't reachable (URL_ERROR), which makes your plugin disable itself
we're trying to provide help, that's why we "argue with your stuff"
the license is working..
but I got it is useless
either your license-check or you holodisplay stuff is the reason
might be cause the license wasnt at the bottom
THAT'S IT
so do that and stop arguying
one of them fails, and then returns/disables the plugin
can't say which one, but as we were seing an error about "onDisable", i'd say it's your holodisplay shit
???
(everyone)
:(
oh yeah, put it at the top
lol nobody wants to steal code from a plugin that doesn't even enable
I mean cmon, it's a simple NPE and it exactly tells you in which line the problem is
oh my holy
i wonder if he blocked me 🤔
gonna keep working
I didnt
.
if you need to come here to fix a simple npe, i dont think anyone would want to steal the code
let alone its on 1.8
Not working tho lol
what app is that
wha
are you using a paper server?
cuz paper has a bug with spigot plugins, where the advancementdisplay leads to an NPE, if that's your issue
yeah
Because you need to use AdvancementDisplay#getTitle()
Not just #getDisplay()
im on paper
im not using paper
oh its for Shadow
then, probably just a wrong name
if you want the title
sec
?jd
you want AdvancementDisplay#getTitle
declaration: package: org.bukkit.advancement, interface: AdvancementDisplay
i mean, you can, it just won't give you anything remotely useful
okay
yeah but its giving some weird error
what do you want to achieve
cuz this is far from correct java syntax
oh nvm
i misread it then ahhaahaha
but yea, it still wont give you anything useful
probably itll give you smt like AdvancementDisplay@225i5v or smt
get the display from the advancement, then get the title from the display
getDisplay, getTitle
getdisplay isnt a thing
on advancement
ah nvm
you're sleepy today lol
but if you want the actual advancement title (as it shows in the advancements-gui) you usually want to use the AdvancmentDisplay
tell me smt new
xD
what was that app you sent a screenshot of
it looks cool
the timer one
i don't think it's free but i got 3 months from coding with lewis link
smh
xd
idk what i'll be doing after the 3 months because i can't pay internationally and rize really helps me be productive
how much data do you require
wdym?
oh
well i love the tracking that it does
and break/unfocus reminders
session timer? eh, i have wakatime
e.g. yeah i'm loving it
and this
same!!!!!!!!!
Is this just fancy wakatime
pretty much
with some gimmicks
wakatime is more for tracking specifically working on my projects
rize is overall time spent at the pc, with break reminders, and it monitors what i do exactly
e.g. see the screenshot above
I CANT EVEN GET THE DISPLAY BRUH
some weird error
you got a referal code or smth
1 sec
full stacktrace?
mfw compiling against paper but running spigot 

what :c
full stacktrace?
instea of only giving us one word out of the probably 30+ lines long stacktrace, you are supposed to send all 30 lines
https://rize.io/u/codingwithlewis use this
s
This looks sick
added that, i can still add a referal code to get you an extra month (i think)
this?
oh 1 sec
advancementdisplays didn't exist before 1.19
8E7331
you're running 1.18.2 apparently
reeeeaally
yes really
im signed up now
so how do i do that 😦
:>
enjoy the month if it actually gave it you
i hope lol
run 1.19+ server if you want to use advancement displays
or use nms if you want to run 1.18
the world is your oyster
which packet to use to change the block state of BlockDisplays
or modify your spigot to include the advancementdisplay patches
cant i get this from the advancement message? because im doing it in advancement event
xD
thats probably a way
u should get 2
on fonam
words
without reading the code too thoroughly, i assume that if (userData == null) check fails?
kinular
this hurts
i have to convert my 80% in config to an int removing the % to divide it by 100 to convert it back to astring so the double will accept it
Im not even doing it, but i still hurts
bro what you doing
painful stuff
this
parseDouble(s.substring) / 100?
bungeecord: in ChatEvent, how do i get the sender's uuid? event#getSender() returns Connection which does not have that field
parse double doesnt have an int method
??
cast to proxiedplayer iirc
why do you need an int lol
this is a stupid question... I'm making a bleed effect, and it keeps on proccing itself
how do I tell when someone is struck by a sword vs the bleed proc?
seems right ty
when you damage the player you can specify the source
source as in the entity that dealt the damage?
but I still want the damage to belong to the player who applied the bleed
i was thinking how I can mess with metadata, but rn im just using it to implement the bleed timer
which is working pretty well, except 1 hit and u bleed forever lol
I want hits with a sword to always reset the bleed
idk if that event can be called with a Server instance as connection (which doesn't have a unique id).
Same goes for PendingConnection but that implementation does have a #getUniqueId() so you might as well cover it ig
i'll find out when testing xD
ItemStack sword = new ItemStack(Material.WOODEN_SWORD);
net.minecraft.server.v1_19_R3.ItemStack nmsSword = CraftItemStack.asNMSCopy(sword);```
`Cannot resolve symbol 'v1_19_R3'`
Why is it specifically that part that isnt working?
<id>spigot-repo</id>
<url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
</repository>```
```<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot</artifactId>
<version>1.19.4-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>```
?nms
first of all use remapped
no, or yes, but using raw nms is pain, remapped makes it a bit less painful
any ideas on how to impl the bleeding thing?
you can add pdc to the player who's bleeding, and everytime you damage, call the damage method without a source
you say "you want the damage to belong to the player" what exactly do you want?
what's a pdc?
?pdc
well it'd be nice if the bleeding had a source
well you want a source but what do you want from that source
you have a source, ok cool, now what?
well won't it display a death message if someone dies to the bleed?
no way
also im on 1.8.8
elgarl in a voice channel
good point
oh i'm sorry for your poor soul
mis clicked
lol
is there a way to put metadata on a damage event?
where in my project do i put the build tools jar before i run it?
you don't put it in your project
what do i do with the folders it made then
run buildtools anywhere on your pc. it will automatically add it to your local repo
?bt
except for onedrive
technically not on your pc though
what are you trying to do
exactly what it does, check if a config option is true and check if something equals run a method and return, if not lowercase the result and check if it equals
it works how it should it just feels wrong
cos it's not that clean
@Override
public void handleChat(@NotNull AsyncPlayerChatEvent event) {
boolean caseInsensitive = gameConfig.getBoolean("case-insensitive");
String input = event.getMessage().trim();
String answer = ...;
if (caseInsensitive ? input.equalsIgnoreCase(answer) : input.equals(answer)) {
win(event.getPlayer());
}
}
doing chat games?
I still need to update mine 👀
you have a chat game plugin?
kek
terrible code that I've been meaning to update
it has the exact same name as mine
for years now
Wow epic is copying
no
chances are this will work first time
im gonna say like 10
it didnt work
bc i didnt know how substring worked
[ERROR] Failed to execute goal on project Frontier: Could not resolve dependencies for project me.frontier:Frontier:jar:1.0-DEVELOPMENT: org.spigotmc:spigot:jar:remapped-mojang:1.19.4-R0.1-SNAPSHOT was not found in https://repo.papermc.io/repository/maven-public/ during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of papermc-repo has elapsed or updates are forced -> [Help 1]```
i can put my whole pom in pastebin if needed cus idk whats going on
kekw
Look at my beautiful code
i fuckin hope that class doesnt exist after the player leaves the server
can you guess the word
stupid fuckers
it was wooden pickaxe
oh
Close
you could guess this right
Igor Porridge
tf
not distracting at all
def not
Pik is not an English abreviation. Pick is.
Pic would make more sense
E
still not English
Hey guys I back 😁😁😁
most people use pic right
cant say i see many use pik
pic is an abreviation for picture
It is cringe when I see it
i use it for both
isnt it sendMessageEmbeds
Colours
Can YML files have multi line strings? Idm the <break> but visually it looks horid
they can
Yes, but the syntax looks ugly.
show
Make sense that they both start with same 3 letter words
there's multiple ways
Find the right syntax for your YAML multiline strings.
And then when I use getString it returns a string or string list?
Im jsut looking for a string no string list
should become a single string
you can just put it in quotes and keep the indent the same
null > <none>
Hey this is kinda long but I've got a question
I have a plugin where when a player dies they drop a knowledge book that is named "Soul (playername)". The plugin was coded for 1.19.2 and works perfectly fine in that version, but upon updating it to 1.20, the knowledge book is no longer named a "Soul", and rather it is named "Knowledge Book".
I've tried pretty much everything I can think of (which isn't alot), but I simply can't get it to work.
The plugin also allows you to use that soul item to make other items that harm the player that the soul belonged to, such as an ender pearl that teleports the other player instead of the person throwing it. But the crafting doesn't work anymore, and rather than giving a "Soul Pearl (playername)", it just gives an ender pearl.
does anyone know how I would fix this or even what is wrong
?learnjava!
Here are some links to get you started on learning Java:
- https://www.codecademy.com/learn/learn-java
- https://www.sololearn.com/learning/1068
- https://www.learnjavaonline.org/
- https://programmingbydoing.com/
- https://docs.oracle.com/javase/tutorial/java/index.html
The last one is the only official one, however some of those concepts assume that you already know a bit about programming. https://media.discordapp.net/attachments/694661573125472256/998143126373941248/6n0v4g.gif
I have no idea what that means
someone else coded it for me
but they aren't responding to me anymore
?nocode
It’s hard to answer a programming question without code
Oh no! You ran into a problem. But no worries, people are willing to help, but first they need to see your code. This is because otherwise, they would be providing help based on guesses instead of concrete knowledge. Whether it be a compile error, runtime error, or an unexpected output, I'm sure that if you were to provide code, you'd receive a quick solution.
was that to me?
no
<dependency>
<groupId>com.github.MilkBowl</groupId>
<artifactId>VaultAPI</artifactId>
<version>1.7</version>
<scope>provided</scope>
</dependency>
this does absolutely nothing. any idea why?
Did you reload your pom?
What are you supposing it to do
you mean reload maven?
This code was too beautiful I decented to heaven by looking at it
yes
when i reload maven, it happens in a millisecond. something shows at the bottom and disappears instantly
is that a bug?
did you add the repo
is jitpack down
did jitpack ever work properly?
when it started probably
i had this dependecy downloaded
wdym "it does nothing"?
It Doesnt Give An Error But It Doesnt Add Anthing
what do you expect it to do?
Load The "Economy" Class Properly
have you reloaded maven
show your code
it doesnt work for me
so i invalidated caches and restarted
package com.amirparsa.hypixelutils;
import net.milkbowl.vault.economy.Economy;
import org.bukkit.plugin.RegisteredServiceProvider;
public class EconomyController {
private static Economy econ = null;
public static boolean setupEconomy() {
if (HypixelUtils.getInstance().getServer().getPluginManager().getPlugin("Vault") == null) {
return false;
}
RegisteredServiceProvider<Economy> rsp = HypixelUtils.getInstance().getServer().getServicesManager().getRegistration(Economy.class);
if (rsp == null) {
return false;
}
econ = rsp.getProvider();
return econ != null;
}
public static Economy getEconomy() {
return econ;
}
}
it worked on my other plugin
which error do you get when you run mvn package?
also why do beginners always call their plugins HypixelWhatever
nvm maven reloading started working again
wait for a bit
Its A Hypixel Skyblock Remake Plugin
And I Need Vault For Removing Half Of The Players Balance On Death
they want to just copy plugins
Everything Got Fixed
Its A Private Plugin For My Server
its still just copying a plugin
Hypixel Modifies The Server Software
And They Dont Use Plugins
And That Means Its Not Copying Plugins
i somehow doubt they would bake all of the stuff into the software
they modify the software to support versions, they still use plugins
or if you want, its called being unoriginal
Its way easier
would you like to add in a lore saying Uncommon Item when the item is obtained or
add it directly to the Item class so every item has a lore for their rarity
no it really isnt
Why?
instead of having an api, they can use to also access other plugins, they get forced to use interals which half the time are a lot harder to work with
@echo basalt can even say that hypixel use plugins over baking gamemodes into the software, some of the features might be added to software
entire game modes arent
neither
The proper easy solution is to just intercept item packets and add the lore
So you don't break item equality checks
Or have to do funky logic
And it also allows the ability to update the lore with server updates as there is no data conversion happening
Not this argument again
You got literally no proof they don't use plugins
Fun fact: Hop in a hypixel loby and run //
It'll tell you that you don't have permission
They run worldedit in the lobbies
They also run a fork of citizens
The author of citizens has also said that hypixel devs used to chill around there and ask for help but have decided to make their own fork
They're also around in the arceon discord server
So quit spreading lies :)
And for further proof, they even mention other plugins in their dev blog
You should get familiar with || and &&
|| -> OR
&& -> AND
Here's a demo:
entity instanceof Bee || entity instanceof IronGolem
String oldDeathMessage = e.getDeathMessage();
will this call e.getDeathMessage() each time or just the time that its defined?
is there a way i can prevent xp orbs from spawning after breaking a specific block type
https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/block/BlockExpEvent.html#setExpToDrop(int)
declaration: package: org.bukkit.event.block, class: BlockExpEvent
thank you
You can use the BlockBreakEvent since it inherits that method
So I thought you needed to actually keep updating your plugin in order for it to be seen on the resources page but you can just post resource updates every day without actually updating anything and have your plugin be on the first page of resources constantly?
Technically you could, yes. Having 100 versions with 200 downloads will look weird though. Also you usually provide a changelog - so you actually have to make changes
Hey I want for when a player to click a component in chat, then it fills their input typing box with a string so they can copy it to clipboard
how can i trust a player upwards (cant find anything on the web)
player.setVelocity
ah noice ty
as in if they just typed it
it might be impossible
https://www.spigotmc.org/wiki/the-chat-component-api/
There's also a COPY_TO_CLIPBOARD option
The home of Spigot a high performance, no lag customized CraftBukkit Minecraft server API, and BungeeCord, the cloud server proxy.
If you don't wanna copy it directly but let them copy it, then this is the way to go
COPY_TO_CLIPBOARD is a bit buggy with click detection from my experience
isnt that just a vanilla tellraw feature

How do I make it so that when a player tramples a crop, they get blacklisted from the server, and whenever someone’s talks on chat unless I say their Minecraft ign and then say speak gets blacklisted too
simon says minigame or something?
No I am making a server called SovietCraft
fear
Ideally you ask for help with a thing or two, not just saying "hey how do I make it so my plugin runs bedwars game?"
.
You got a constructor in your javaplugin class
I'm not gonna put in the effort of literally spoon feeding you code
I don’t need code I need where to get started
That's a short guide on how to ask for help and come to solutions faster
What events are there related to trampling
Idk that’s what I’m asking
.
You literally got answer
Look at NMS or research the docs
BlockFadeEvent
Are you blind
real
Say yes pls
learnjava moment
select the code and press delete
bruh
I can't with these questions today
🧑🦯
(i need to do some learnjava myself)
oh really, is it?
Is it not the CropTrampleEvent
that could probably work too
there is no CropTrampleEvent
:|
Good luck
i should probably leave before i make an even bigger fool of myself
💀

?paste
Getter on public static field hmm
I predict a "will this work?"
Yeah I'm done helping you
Invalidate caches
how can i fix this
intellij dumb sometimes
Happens more with the new UI from my experience
im using old one
Still happens on the old one
just invalidate caches and restart
Also make sure you imported list
Why
I’m so confused rn
Why it’s not working
Also this is just a re-paste of <none>'s issue
😭😭😭🤣🤣
Hi black im white
I thought you are dovidas147
to be honest im racoon
Y’all racist in here
is that a question?
You're overreacting bro
what's the maximum plugin name length
we have no intend to harm
are you trying to beat a record?
skript-non-playable-characters
this is going to be my plugin name
how about
skript-npc lol?
it's already taken!
skript-npc-2
hexs-skript-npc
okay
apart from the int 32 bit limit
because they're internally stored inside the linear arrays
he's probably making an addon
I'm making a plugin for the noobs to access citizens and znpcs
to skript
^
skript allows you to add custom expressions and things
to skript language
via addons
and that's what he's doing
Skript is for noobs
Minecraft is for kids
Ur right I’m 72 and I still play this game
where did oblivion come from
How do u set custom model data
Is it with ItemMeta
I think so
Idc
it is
Ok thx
you're welcome
i would name skript-oblivion-npcs
Man hasn't heard of the javadocs
🫀
just for the memes
Nah ion fw them ones there
No please do
the issue seems to come from your main plugin class though..
until what
I don’t know
then why did you say it
Shout out to the plates that are bowls too, my favourite type of kitchen utensil
Sounds like it is bad at being one or both of those things
Nah u know them ones with a little curve at the edge
They r fire
It can hold soup while look like a plate
yes they can hold like 5 spoons of soup that gets cold instantly
best for noodles though
Pretty girls love tyler
either start making sense or dont talk
Who tf you is with the bow tie on
I said pretty girls love Tyler
Your name isn’t Tyler
Go touch grass
Then speak on my name
U look like a geek irl
who is tyler
the name tyler gives me huge knobhead vibes
this dude is clinically insane
you
my name contains the name tyler and i didn't even mean it
You must be a hoodlum thug
sure sure
do you have a single thought going over your head?
Yessir 💯‼️
Obligatory don't feed the trolls
obligatory I'm aware
@echo basalt you are a malfunctioning npc
blud swiped his library card at walmart
Nah u might’ve made the least funny joke of 2023
I’m not even trolling at this point
Robot
🤖
damn you didn't have to leak that pic


Hello, how can I make a custom gui (with case at different positions...)
?gui
aww
thanks 😄
but well, that's not what I want
that's what I'm doing
I founded it after posting my message
File file = new File(Hcfcore.getInstance().getDataFolder().getAbsolutePath(), DB_NAME);
if (!file.exists()) {
try {
file.createNewFile();
} catch (IOException e) {
Hcfcore.getInstance().getLogger().log(Level.SEVERE, "File write error! (creating database)");
}
}
System.out.println(file.getAbsolutePath());
String url = "jbdc:sqlite:" + file.getAbsolutePath();
this.connection = DriverManager.getConnection(url);```
23.07 23:25:20 [Server] [INFO] /plugins/hcfcore/hcf.db
23.07 23:25:20 [Server] [WARN] java.sql.SQLException: invalid database address: jbdc:sqlite:/plugins/hcfcore/hcf.db```
I'm really confused on what i'm doing wrong, any help will be appreciated.
you don't need to create the DB file
honestly doing that probably breaks things
i just realized i dont think i even have the driver installed
is there a class of entities that can hold items
ie pigmen, skeletons/wither skeletons, players, and zombies?
does snakeyaml support double precision floating point numbers inside yaml?
??
I don’t see why not
TIL, thanks!
It supports floats, and doubles are just floats with more bits
i mean im developing my own snakeyaml configuration wrapper which is more strict in terms of data type parsing
currently bukkit configuration api allows character data type to be parsed as an integer
which seems not really great
because you can probs specify 'a' and itll parse as a number
idk i dont like this
sure its useful in code
but not inside configs
if you want an integer
just specify as an integer
why confuse others
I mean
also you cant really do this in java easily since you need to cast anyways
The user would have to be the one to put a char in place of an integer
but in that i case i would notify the user with exception instead of throwing random shit to the end user which he doesnt understand
at least that's my principle
You can do that if you want
Yeah mine does that
mini message is great
atlthough its a bummer i cant really do indentation with it
so that i can use it like html tags
but im not sure maybe its possible but idk
Hello, I have been trying to create a plugin that delays messages sent from the server to the client for like 500ms when the player joins the server. This is because of an annoying bug in a mod that makes it so the client doesn't receive or display (not sure which one) messages for a short amount of time upon joining. How would I go about doing this?
Packet listener
And then just store them in a queue and send them all after the 500ms
how about fixing a mod instead of duck taping the real problem?
yeah I forgot to mention that this is about beta 1.7.3, bukkit version 1060 and although the mod is opensource there are no compile instructions
beta 1.7.3
how is that even running
i hope you guys patch log4j exploit
since its probably not patched
its running Aether, IC2 and BuildCraft just fine
just this aether multiplayer mod got this annoying chat issue
how were you able to run multiple mods on the same minecraft version?
isnt it was the time modloaders didnt exist yet?
I hate that all of these communities are on discord instead of web forums, now I have to go asking like an idiot on 100 servers until I get something I can work with because discord isn't indexable by search engines
modloader + forge
also fabric on the client for optifine
optifine runs on beta 1.7.3??
theres a new wave of modders
beta 1.7.3
fabric
uhu
i mean fabric is backwards compatible
yea i knew that
but i thought it was only modloader
which was backwards compatible
i didnt knew that optifine literally fucking work in beta 1.7.3
that is actually impressive
but im not sure what even it would optimize in that case
That’s a throwback
iirc there was a launcher called magic launcher which was the first one to provide mod loader functionality
but it was under the paywall for me since i havent owned minecraft at that time
and it was premium minecraft account only
Hello everybody,
the Magic Launcher is a new Minecraft launcher which can load mods dynamically without changing or patching the minecraft.jar.
No more...
i found it lol
Incredible
How do I create Banner ItemStacks? (I want to customize the banner)
Is there a tool, or something?
Hi , not sure if mysql makeing jokes on me , or is it skill issuse ..
for some reason when i close the server [ i have a save method to save all guilds] ..
it save , but when i close the server again it duplicate ..
when i close the server it duplicate :
i dont think so no
On duplicate works only on primary key conflict ^
thank you so much , its 3 am here and my brain stoped working ..
haven't slept for 17 hours and counting ..
imagine being ahead of me
no but i would love to be there .. its so hot in my country 50 dgree++
how are you coding in ti
iam from iraq and its very hot , 3rd place in world record .. in this month my city was 4th ..
oh
ot used to it ..
im from lithuania
northeastern Europe noice
its cold in this time of the year? i would preffer go to russia , i heared that its pretty snowyy
oh so not 50+ ? xd
but in winter its cold
too
currently 25 +-
but there are times it reaches 33 or 34
sometimes
it reach 50+ and sometimes 55+ in some cities .
i cant even imagine how are you staying up in that kind of temperature
i would probably lose consciousness after couple mins
last year when it was 40+ i was pretty much sleeping all day and awake at night
removed the tables ..
been as it was somewhat cooler
well if you removed the tables it cannot find the tables?
hate when this happen :p
wait till you see groovy
i heard something earlier an entire ai was broken because of a comma
and it wasnt found for 5 years
groovy is the root of evil in terms of reporting problems without your code, trust me, it sucks i've spent 3 hours to debug my unit tests with Spock
testing the save :p
without bs error messages
and all it took is to reorder the variables
because the initialization order wasnt incorrect
and in java it wouldnt compile
but in groovy it does
np
need to go to finish the system ..
good luck
you too
Does this work for a yml string ? (Not a string list just a string)
Yes but u dont need ""
Ah I see
how do i set the height of a textdisplayentity mounted on a player without these blank lines below the text?
I should make more interfaces
If you intend it to be split on each line yeah
Otherwise use > instead of |
Use translation
what=
you mean transformation?
Yes. You can translate it upwards
how?
new Transformation(new Vector3f(0, 2, 0), new Quaternionf(), new Vector3f(1), new Quaternionf());
That should work fine
(the first vector being the translation, so change that y value to however high you want it to be)
Sup guys, I was messing around trying to learn some NMS with Mojang Mappings.
I was trying to send a ClientboundSetEntityDataPacket with the zombie information as the player entity, to make a mob disguise type plugin.
Zombie zombie = new Zombie(EntityType.ZOMBIE,((CraftWorld) p.getWorld()).getHandle());
ServerPlayer serverPlayerP = ((CraftPlayer) p).getHandle();
ClientboundSetEntityDataPacket entityDataPacket = new ClientboundSetEntityDataPacket(serverPlayerP.getId(), zombie.getEntityData(),true);
Sorry in advance for any error and i do not pretend to publish or use this. Any help is appreciated
I don’t think sending the data for a different mob will yield a disguise
The entity data doesn’t include the type of mob
yeah there's a proper chance it can disconnect the player if entity metadata doesn't match the format
I'm sorry i didn't explain it properly.
I'm spawning a zombie and removing the player entity. I was trying to understand what Data Watchers are in Spigot Mappings, and how they translate to Mojang Mappings.
Here`s the full code:
Player p = (Player) sender;
Zombie zombie = new Zombie(EntityType.ZOMBIE,((CraftWorld) p.getWorld()).getHandle());
ServerPlayer serverPlayerP = ((CraftPlayer) p).getHandle();
zombie.setPos(serverPlayerP.getPosition(0f));
ClientboundSetEntityDataPacket entityDataPacket = new ClientboundSetEntityDataPacket(serverPlayerP.getId(), zombie.getEntityData(),true);
for(Player a : Bukkit.getOnlinePlayers()) {
if(p == a) continue;
ServerPlayer serverPlayer = ((CraftPlayer) a).getHandle();
ServerGamePacketListenerImpl listener = serverPlayer.connection;
ClientboundRemoveEntitiesPacket removeEntitiesPacket = new ClientboundRemoveEntitiesPacket(serverPlayerP.getId(),);
ClientboundAddEntityPacket packet = new ClientboundAddEntityPacket(zombie);
listener.send(removeEntitiesPacket);
zombie.setId(serverPlayerP.getId());
listener.send(packet);
listener.send(entityDataPacket);
}
I cannot create the ClientboundSetEntityPacket, using the SynchedEntityData because there's not the constructor as there is for Spigot Mappings. Im at 1.20.1
I googled a bit, but found no useful study material about Data Watchers in Mojang Mapping
damn time to write some
There’s no Boolean in the constructor anymore
It’s just the id and the data
It asks for a List <net.minecraft.network.syncher.SynchedEntityData.DataValue<?>>
I cannot find where the i can get the DataValues
The only fuctions that return this is getNonDefaultValues()
So use that?
and packDirty()
So packDirty will give you a list of all the changes since the last packDirty call
I assume packDirty is anything that has been changed
and getNonDefaultValues will give you a list of.. everything that isn't the default
And getNonDefault is.. well the name kinda says it
Entity data is initialized with default values and then any metadata packet just changes the internal data
If I don't include data, it doesn't reset to default, just stays as-is
So first call should be getNonDefaultValues and subsuquent calls should be packDirty
Okay, i think i got it
I'll run some tests then i'll bring some new feedback
So when i'm calling ClientboundSetEntityDataPacket I'm setting the data watcher? or I'm changing the values in it? I can't quite undestand this relationship yet
You’re sending updated values to the client
The data watcher is the obfuscated name for SynchedEntityData
And it's just a list of values, where a value has an id, a serializer and the actual contents
You set it in the server, it is seen as "dirty", the dirty contents get packed into a list of "changed values" that get sent to the client
The client receives this list, updates the mob with the new values and renders the changes
Ok, got it
