#help-development
1 messages · Page 2167 of 1
i thinks it's cause its a hardcoded creative feature
I'll try it, thanks
If I remove an entity which has passengers, does it remove the passengers too?
try it ig
i'd guess it does but idk
alltho i think it'd more likely just remove the passenger from the entity
I can't for the life of me fix this bug anyone that has an idea https://pastebin.com/m3j3V3Rr (Error) and code https://pastebin.com/QcDRU77Z. Tag me if needed
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.
ideas why gradle wont download 1.18.2 api? Could not find spigot-api-1.18.2-R0.1-SNAPSHOT.jar (org.spigotmc:spigot-api:1.18.2-R0.1-SNAPSHOT:20220428.092138-38).
Full build.gradle.kts
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
kotlin("jvm") version "1.6.21"
id("com.github.johnrengelman.shadow") version "7.1.2"
}
group = "com.jackchapman"
version = "1.0-SNAPSHOT"
repositories {
maven("https://hub.spigotmc.org/nexus/content/repositories/snapshots/")
maven("https://oss.sonatype.org/content/repositories/snapshots")
mavenCentral()
}
dependencies {
compileOnly("org.spigotmc:spigot-api:1.18.2-R0.1-SNAPSHOT")
implementation(kotlin("reflect"))
}
tasks.withType<KotlinCompile> {
kotlinOptions.jvmTarget = "1.8"
kotlinOptions.freeCompilerArgs = listOf("-Xcontext-receivers")
}
hm I'm wondering whether I'm converting between timeunit once too often but I wouldn't know a way on how get rid of it
public long getRemainingCooldown(OfflinePlayer player, TimeUnit remainingTimeUnit, long delay, TimeUnit delayTimeUnit) {
return remainingTimeUnit.convert(precision.convert(delay, delayTimeUnit) - (currentTimeSupplier.getAsLong() - getLastReset(player)),precision);
}
Hey there. Can someone tell me how to fix this error in my pom.xml: Cannot resolve org.spigotmc:spigot:1.18.1-R0.1-SNAPSHOT
I am sure i made many mistakes here...
pom.xml: https://paste.md-5.net/ovugumifij.xml
you didnt run buildtools
you likely didnt run bt
fuck
xd
1:1
okay so i must run it and finish?
doesnt matter where?
if you dont insist on nms and shit
but i want nms
then run bt, and then try it again
and i dont have to move any files for the pom.xml thing??
well thats nice
i still got no frickin idea how paper does it in like 10 seconds or smt
and why i need this?
while bt needs minutes
paper is good shit
need what?
because it's illegal to distribute mc code
copyright
and why is it legal with buildtools? da fuq
hm is there any way do to this?
public class Cooldown <T extends TimeUnit> {
private final TimeUnit myTimeUnit;
public Cooldown(T unit) {
this.myTimeUnit = unit;
}
public static class Test {
public static void main(String[] args) {
Cooldown<> cooldown = new Cooldown(TimeUnit.MILLISECONDS); // Diamond operator won't work
}
}
}
I basically need to use the TimeUnit (an enum constant) in the line with the comment
distributing compiled spigot includes distributing more than just spigot.
wait. When its illegal to do this. How spigot got made?
it's just illegal to let people download that already compiled stuff
idk the full reason as to what's in there that can't be distributed, but there are many threads on why and stuff.
by doing it with bt, you basically decompile/deobfuscate it yourself only for yourself, which makes it legal ig
i'm not a lawyer btw
i see
thats why i wonder how tf all those websites who upload server-jar's can still be legal
and online
does mojang just not give a shit? lol
It's safe to create itemstacks on other threads just not add them to inventories right?
mojang is too rich for that lmao
something being illegal doesn't necessarily mean someone actually cares to come sue you and force u to take it down.
I'd recommend just reading one of the many existing threads that go into great detail.
What're u trying to use the generic T as?
like, in past they banned so many servers for selling p2w stuff
buildtools just closed. Is it finished?
try it and see lol
same error
if it copied a spigot jar inside the bt folder, it did
if not, check the log
if you think i've ever read it, you're wrong
i dont think anyone in here really reads it lol
I might be dumb but doesn't T extends TimeUnit not serve any purpose? TimeUnit is an enum and enums can't be extended. So T will always just be TimeUnit.
Success! Everything completed successfully. Copying final .jar files now.
Copying spigot-1.18.2-R0.1-SNAPSHOT-bootstrap.jar to D:\Documents\BuildTools\.\spigot-1.18.2.jar
- Saved as .\spigot-1.18.2.jar
but error still there
what do you mean with "error"
just the red thing?
if it's just this type of "error", ignore it and reload your maven proj
oh no w/ 18.2 im dumb
happens
bruh
ideas why gradle wont download 1.18.2 api? Could not find spigot-api-1.18.2-R0.1-SNAPSHOT.jar (org.spigotmc:spigot-api:1.18.2-R0.1-SNAPSHOT:20220428.092138-38).
Full build.gradle.kts
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
kotlin("jvm") version "1.6.21"
id("com.github.johnrengelman.shadow") version "7.1.2"
}
group = "com.jackchapman"
version = "1.0-SNAPSHOT"
repositories {
maven("https://hub.spigotmc.org/nexus/content/repositories/snapshots/")
maven("https://oss.sonatype.org/content/repositories/snapshots")
mavenCentral()
}
dependencies {
compileOnly("org.spigotmc:spigot-api:1.18.2-R0.1-SNAPSHOT")
implementation(kotlin("reflect"))
}
tasks.withType<KotlinCompile> {
kotlinOptions.jvmTarget = "1.8"
kotlinOptions.freeCompilerArgs = listOf("-Xcontext-receivers")
}
i think you would have to make the units a static inner class of time unit
don't spam
would pretty much be like an enum still
Pom.xml error Cannot resolve org.spigotmcspigot1.18.1-R0.1-SNAPSHOT
you ran bt with 1.18.2, and in your pom you're trying to use 1.18.1
just change it to <version>1.18.2-R0.1-SNAPSHOT</version>
already did
This worked! Thank you!!
No problem
now that's funny
i hate this game
woah :o
might quit mc completely
also my gpu doesnt like mc, after like 30 minutes it straight up overheats lmfao
cyberpunk on high settings? no problem
minecraft? no way
Minecraft has level.
minecraft's performance is hillariously bad
and tbh, as long as they won't go away from opengl, it's likely for me to abandon it
just imagine minecraft running on vulkan
I'm writing a Cooldown library right now because people keep asking how to do stuff like this all the time, But I'm wondering whether it's better to provide the duration to wait at the moment while checking (basically comparing last usage with current time) or whether it's better to provide the "future time" when it's allowed again when the item is used, whatever.
Here's an example of both methods:
private final Cooldown cooldown = new Cooldown(TimeUnit.MILLISECONDS);
// Rather like this, where you can set the duration while checking it?
public void onCommand(Player player, String[] command) {
if (cooldown.hasCooldown(player, 1, TimeUnit.MINUTES)) {
player.sendMessage("You can run this command only once per minute, please wait %d seconds.", cooldown.getRemainingTime(player, 60, TimeUnit.SECONDS));
return;
}
player.setCooldown(); // Basically saves "current time" as last usage
// Run the command log
}
// Or like this, where you set the "future time" after the cooldown check was successful?
public void onCommand(Player player, String[] command) {
if (cooldown.hasCooldown()) {
player.sendMessage("You can run this command only once per minute, please wait %d seconds.", cooldown.getRemainingTime(player, TimeUnit.SECONDS));
return;
}
player.setCooldown(1, TimeUnit.MINUTES); // Saves "current time + 1 minute"
// Run the command logic
}
the second option is probably easier because then one doesn't have to also provide the duration in getRemainingTime?
Sus
you shaded the whole spigot artifact inside
<scope>provided</scope> in your spigot dependency
bottom one looks better
that's what she said
to me :>
Why this error came? https://paste.md-5.net/uceqobeqax.java
looks like something related to nms
thanks
Also it's "lacking a permission", lil typo there
oups
Hmph
World#getHighestBlockAt(int x, int z, heightmap: Heightmap) is weird
using HeightMap.WORLD_SURFACE_WG as the heightmap results in proper worldgen results when a block is placed in the current session
but when the server is restarted it seems as though player placed blocks are put into that heightmap as well so it returns a player placed block instead of a generated block
0 is 1 minute, 2 is 15 minutes
I'm currently trying to join on my localhost and I get stuck in a "building terrain" screen
I spawned an npc in nms but it has only one layer of its skin. How can i fix it?
only way to exit without closing the game is to kick myself from console
i tried restarting the server and the client but didn't change anything
with another account it works as usual
can have multiple reasons
- broken client/mod-setup
- broken playerdata on server
is there a way to debug my launcher or smth?
sure, just check the log, depending on what launcher you use
aight
if you use the normal mc launcher (please don't), there's an option somewhere to open the console when launching the game, in multimc just click on "edit instance"
other launchers i have no idea
it happened to me when the server's playerdata for both my accounts was broken.
just delete the file world/playerdata/<your-uuid>.dat file (which does delete your inventory and locations etc, be aware)
thanks this worked
Do I need to check if a player's gamemode is not survival before setting it to survival or does spigot already do this check for me?
it shouldn't error out
The event AsyncPlayerChatEvent, can we check if the message come from a cmd?
I mean to not run the check unnecessarily
I dont believe it would matter either way
you shouldent need a check
if you set a gamemode and are already in that gamemode you will just set the gamemode again
not like its gonna throw an error
Whether or not the player is in survival, it will still set their gamemode to survival
w/o error
Okay I'm just asking because I'm setting a player's game mode to survival every second via a repeating scheduler
why do you have to set it every second?
^
a command is not a chat event
I'm spawning a creeper on them every second and want to prevent that they can go into creative
it's catched by the PlayerCommandPreprocessEvent, or PlayerCommandSendEvent ig
wait.. is there an event to cancel that they change their gamemode?
that would be the better solution I guess
I set their gm to survival once and just cancel the command as long as the creepers spawn
alltho idk if there's a GameModeChangeEvent
there is
declaration: package: org.bukkit.event.player, class: PlayerGameModeChangeEvent
Anyone know why .getTag() is returning null in this scenario?
I'm trying to save a player's inventory to a file as a string
by having basically just one big text of <nbt>|<nbt>|....
and split by "|"
Why string may i ask?
The tag is null btw
Is it a regulae item maybe
Like dirt or a normal pickaxe
I want to spawn some falling entities above a player, let's say 20 blocks above him. Is there a way to detect if there's a "free way" between the player and the spawn location? Let's say the player walks under a bridge --> no free way.. what would be an efficient solution?
iterate through all blocks between his location and the spawn location and check if there's something that is not air?
i'd guess so
what is the best way to save an Inventory btw?
alltho probably all blocks between the player and the highest block at the current location
save between reloads? i guess save all itemstacks in a config with their slots
but how?
uh
json?
thx
this serializes and stores the inventory in json
i mean, i would've done it in yml because i hate json, but json ofc is probably better for this
I'm trying to make a MobDamageEffect plugin...
void MobHitEvent(EntityDamageEvent damage, Player player, Spider spider){
if (player.getLastDamageCause().equals(damage.getEntity().equals(spider))) {
player.sendMessage(ChatColor.DARK_RED + "You have been given poison from the spider bite!");
player.addPotionEffect(PotionEffectType.POISON.createEffect(8, 1));
} else {
}
you could actually store it any way you want
that just gives you a base64 serialized inventory
put it in json, yml anything
So when a certain mob damages a player it gives them a certain potion effect
With the code I have, it doesn't give the player poison when hit by a spider, i've been spitballing here for the past hour and i'm not sure how to write it
i just would've done smt like ```java
for (int i1 = 0; i < 36; i++) {
if (player.getInventory().getItem(i1) != null) {
Main.getPlugin().getConfig().set("inventory.whateverUUID." + i1, player.getInventory().getItem(i1));
}
}
Main.getPlugin().saveConfig();
but i never did itemstack saving, so there's probably more efficient ways to do it
I serialize it
And save it as a base 64 string
Ah the gist above
i mean, for most cases the only important things are the item type and amount anyway, so yea, if you need displayname/lore as well, save it as well
well why not just serialize it into base 64?
its 1 long string
much more efficient i'd say
because i for myself have no idea about what serialize even means lol
put it into file
or what base 64 means
ok
so our number system
is in base 10
because we have 10 digits
0-9
base 5 only has 0-4
base 64 has 64 characters
includes letters and stuff
i see
any ideas?
serializing into base 64 basically puts the whole item into data in a base 64 string
which can be deserialized back into an item stack
Are you getting the player and spider parameters from somewhere else than the damage event?
I have spider and player set to bukkit.entity.Player/Spider
I have the damage event to check if the player was hit by a spider
if (player.getLastDamageCause().equals(damage.equals(spider)))
Damage event = damage
I'm pretty new to the spigot api so I'm not sure if I have to write it differently
EntityDamageEvent doesn't guarantee that an entity is being attacked by another entity. Listen for EntityDamageByEntityEvent event instead. getEntity for that event returns the entity that got hit, and getDamager returns the entity that attacked
@EventHandler
public void MobHitEvent(EntityDamageByEntityEvent e) {
if (e.getEntity() instanceof Player player) {
if (e.getDamager().getType() == EntityType.SPIDER) {
e.getEntity().sendMessage(ChatColor.DARK_RED + "You have been given poison from the spider bite!");
player.addPotionEffect(new PotionEffect(PotionEffectType.POISON, duration, amplifier, false, true, true));
}
}
}```
i'd say
Alright
Anyone have any idea why after upgrading all my dependencies to 1.18.2, pretty much all of the deobfuscated method names are gone for NMS classes?
how to send a message in code style here?
like for instance, EntityArrow.getShooter() has existed since like 1.14
and it is now gone
is it normal that I can't send the message with enter after I used those ´´
u gotta add another one
well if youre in the things, yes
also you can escape backticks, if you guys didnt knew, place \ before the backticks
```java
```
or you could make it easier
yea
cancels all formatting
lol wait
*hi*
there's none for code? lmfao
public boolean hasFreeWayAbove(Player p, double distanceY) {
Location loc = p.getLocation();
double yLoc = loc.getY();
for(int i = (int)Math.round(yLoc); i<yLoc + distanceY; i++) {
Location check = new Location(p.getWorld(), p.getLocation().getX(), i, p.getLocation().getZ());
if(Bukkit.getWorld(p.getWorld().getName()).getBlockAt(check) != null) {
return false;
}
}
return true;
}```
there ya go
ty
if it will work, the java get's shown in green
oh good to know
can you fix your identation. hard to read
as seen here
You need to null check the items stack beforehnad, since they could be null. Wait nvm
tell that to minesuchti, not my code
wait nvm that's just my discord window. Its all fine
also check for air blocks.
oops, I think I just upgraded the jdk to lang 16 and now all my code is broken... any way to bring it back down to 8?
intellij idea
use normal switches, if you already used lambda switch blocks. Remove instanceof autoboxing statements
I'll try
in intellij, file/invalidate caches
and then select all boxes
and restart
90% of jdk changes break intellij, dont ask me why
except if you use java 8, then just switch the lang level back to 8 as well
I had no idea what I did, everything just errored out
show this window
also with the code you sent i'm getting an error on the Player player in the conditional
the first if *
I have this project on 1.18.2
I usually play on 1.8 personally but im developing on 1.18.2
@EventHandler
public void MobHitEvent(EntityDamageByEntityEvent e) {
if (e.getEntity() instanceof Player) {
Player player = (Player) e.getEntity();
if (e.getDamager().getType() == EntityType.SPIDER) {
e.getEntity().sendMessage(ChatColor.DARK_RED + "You have been given poison from the spider bite!");
player.addPotionEffect(new PotionEffect(PotionEffectType.POISON, duration, amplifier, false, true, true));
}
}
}```
it's some newer language level addition i use like all the time
which casts and initializes it automatically
when the instanceof is true
thanks that fixed it
null != air
interesting... now it's saying "can't find class for player"
Is there a way to register a command without declaring it in my plugin.yml ?
no
tf
what have you done
you could listen for certain messages on chat event?
Basically I want to use my config for that so yeah
I don't know
Is there a way to prevent squids from dropping ink sacs when dying?
onmobkillevent or something like taht
it wont show up as a command tho when u do tab
you technically can't i guess
all yml commands are shown in the tab completion
I think you can if you use the modify the commandmap directly. You'll have to use reflection for it though.
Just don't execute it? CommandPreProcessEvent
you can just unregister the executor i guess
or that
but that doesn't remove it from the completion
or may even throw errors when running it
rivex, should I have a separate class for this eventhandler logic?
people tend to have seperate classes for this
i usually myself just junk all of my listeners in one class
doesn't make a huge difference in the end i'd say
its more for your own reading
i usually categorize mine
PlayerEvents, MobEvents, etc
anyone have any idea on this?
can I @eventhandler @(something else)
what
well,
you can just do this for example
How on plugin enable has a @override
every event has a @EventHandler annotation
can i do two of the @
that's where the annotations are for, to see if a method is an event method or not, when bukkit registers it
By default, no they do not have a custom name.
Thanks, good for me
i still wonder, can you actually change the name above players without nms?
dont think so
You mean their actual name? No. The prefix and suffix, yes. (Scoreboard teams)
i mean the name that is displayed above the player only
to for example make it colored
scoreboards -_-
might learn redstone as well when attempting this lol
i hate commands
especially scoreboard
i just learned how to suffix a player's death count in tablist, thats all tho
not like a sidebar scoreboard
i know
So when I spawn an entity I can just give it some random custom name and set isCustomNameVisible(false), then in the entity death event I can check if the entity has a custom name and remove whatever it dropped?
the scoreboard is like the tablist etc as well, i'm aware of that
yes
You can do that, or you can also use the entity pdc to store some info about the mob and check that on mob death.
what's pdc?
persistentdatacontainer
/data command basically
Ahhh I remember
rivex ```public void MobHitEvent(EntityDamageByEntityEvent e, Player Player) {
if (e.getEntity() instanceof Player)``` doesn't give me errors
yes I remember, very useful
Player Player 2 times capitalized?
Well I was just switching code around, now nothing is erroring...
if (e.getEntity() instanceof Player) {
Player player = (Player) e.getEntity();
if (e.getDamager().getType() == EntityType.SPIDER) {
e.getEntity().sendMessage(ChatColor.DARK_RED + "You have been given poison from the spider bite!");
player.addPotionEffect(new PotionEffect(PotionEffectType.POISON, 8, 1));
}```
is it possible to unverify my account?
i don't have access to my spigot account for 2 years now
i hate the fact i can't change my name
But isn't this checking if the entity is instance of the variable player you passed through?
no?
oh
you made it uppercase
dumb
passing the player there is completely useless
true
Also, I don't think that's a valid event handler. I'm pretty sure you can only pass in an event if it's annotated as @EventHandler
It's the only thing that gives me no errors... it's weird i'm not sure
just use
Did you check your imports?
public void MobHitEvent(EntityDamageByEntityEvent e) {
if (e.getEntity() instanceof Player) {
Player player = (Player) e.getEntity();
if (e.getDamager().getType() == EntityType.SPIDER) {
e.getEntity().sendMessage(ChatColor.DARK_RED + "You have been given poison from the spider bite!");
player.addPotionEffect(new PotionEffect(PotionEffectType.POISON, 8, 1));
}
}
}
yes
that's everything you would use
there's no need in passing a player into it, why would you do that
alright, and like I said I was just switching code around and that was what gave me no errors
it doesn't give any errors when not passing anything except the event
Is what @sullen dome sent giving you errors?
@sullen dome 😛
dont use that name for long time now
Mine is like 8 years old now lmao
Damn the 3 people who were faster then me
only reason I have 4 "i"'s
xD
create a thread
dw it looks better with only one x
instead of bumping if no one knows an answer
my normal discord name looks better
and is more clear
you're german
.getTag() returning null (NMS)
you're a stalker
I mean so does mine, but I'm also stuck with my name for the time being. :/
Hahaha nooo
Get used to it I guess hahah
IIRC, you can get a name change for the forums which would carry over to the discord, if you were to donate.
It's $10 donation for a name change iirc
i dont know if it would be handled as alt account when i leave with this and join with my other account
If I change my test server version from 1.8.8 to 1.18.2 would it conflict with the 1.8.8 world
yea, that doesnt apply if you can't access your account anymore
That's true 
Possibly. Just due to how old the world is. It would likely try to convert it to 1.18, but you can never convert it back. So make a backup.
How did you lose access?
Alright
cough imagine not saving your backup codes cough
:KEKW:
i did save those
yikes lol
they just were on my pc instead of any cloud
and yea
staff doesn't even answer on any support emails, so apparently they either don't care or don't read it, idk
i wonder actually what'd happen when i leave this discord, and re-join. would i still be verified? probably
well let's see
If you leave, you lose every role.
Once it took them like 3 months to answer me when I needed support lol
can someone send me an invite per dm?
to rejoinm
nvm i can copy a link myself lmfao
Unless the bot has auto restore functionality, be prepared to lose the verification.
big brain
Wait
Discord is acting very weird for me.
wait
org.bukkit.plugin.InvalidPluginException: java.lang.UnsupportedClassVersionError: me/nuclearkat/custommobeffects/CustomMobEffects has been compiled by a more recent version of the Java Runtime (class file version 60.0), this version of the Java Runtime only recognizes class file versions up to 52.0
You are becoming verified and then unverified.
what tf is this bs
getting this awful error in console
Gotta compile your code against an older version of Java.
against meaning?
with. Compile your code with an older version of java
so when i leave, it unverifies me?
but when i join, it verifies me again?
Idk, you are verified right now, so maybe the bot does have the ability to restore verified account status.
Where would I do this in intellij
what is the bot command prefix
? <- prefix
!verify
Usage: !verify <forums username>
Depends on how your project is setup. If you are using maven, you'd want to set the following properties in your pom.
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
If you are using gradle, set the values in the proper file. Otherwise, you just need to change the jdk version your project is using in the project settings.
Squid s = (Squid) Bukkit.getWorld(target.getWorld().getName()).spawnEntity(spawnLoc, EntityType.SQUID);
s.setCustomName("I don't drop stuff");
s.setCustomNameVisible(false);```
???
now reinstall plugin?
Once you've recompiled with the right version, yes.
i'll just leave with this, and join with my other account lol, just need to wait 10 minutes to be able to send messages
I changed the maven properties, test server is in 1.18.2, and I was already compiling with 1.18.2
Then make sure your server is running with Java 17 and not Java 16
It's cause you are looking directly at the entity up close.
Custom names will still show up if you are in close proximity and are looking directly at it. Otherwise the custom name would just be visible from a distance. Similar to player names.
oh
I guess I'll still switch to the pdc method
what do I use as NamespacedKey tho?
please tell me you did not just do Bukkit.getWorld(world.getName())
new String("lol");
How else would you get the world??
lmao
An instance of your main class. NamespacedKey is pretty simple.
Bukkit.getPlayer(player.getUUID)
alright thanks
Oh lol I've only now seen that that was unnecessary af
IDK why I used
Bukkit.getWorld(target.getWorld().getName()).spawnEntity()```
instead of ```java
target.getWorld().spawnEntity()```
lmfao
it's almost 5am here so .. :DD
so, fixed ig
s.getPersistentDataContainer().set(plugin, PersistentDataType.STRING, "Good boi");```
huh?
you dont pass in the plugin instance
pass in a namespaced key
its basically like the key in a hashmap
Use the plugin instance for the namespaced key
new NamespacedKey(plugin, "key")
^
Ahhhh got it
Anyone knows why sometimes when I spawn a damaged anvil in the air it's not being removed after hitting the ground?
instead it gets placed
Don't think it's guaranteed that it breaks
i think it may have something to do with it getting a block when it lands
idk
i mean, you could remove all anvils that are not in the air every x seconds
I don't want to remove anvils that are not made by the plugin
Could I use the pdc thing on it too?
Try EntityChangeBlockEvent, maybe put some metadata on the FallingBlock anvil so that you know that anvil is from your plugin. Then when that event is ran cancel it and remove the entity?
i remember having the same problem in my old plugin with anvils
i have no idea how i fixed it tho
pov: its 5 am and you help others programming xdd
In Germany we call those people "Ehrenmann/frau"
naw :c
imagine coding pff
xd
fuck me, without beeing verified you cant send screenshots?
everything has it's downsides ig
god no
guys i have a playerinteractentity event which creates an inventory and displays it for the player who clicked. I have also created an inventoryclickevent to detect clicks in that specific inventory. i want one of those clicks to affect the entity that the player clicked to show the inventory. how can i access that entity from the inventoryclickevent listener?
¯_(ツ)_/¯
actually
yes
i couldn't, even if i wanted to
what?
i cant access my spigot account for 2 years now
make a new one
imagine being not verified
imagine breaking the rules
imagine having no spigot acc for 2 years
imagine you can't speak english pff
imagine your mum
xd
just wanted to send a ss from my old plugin's project structure
which makes me angry af
When you right click you need to keep track of the entity, maybe in a HashMap that links the player's UUID and that entitie's UUID, and then use that to modify the entity. Make sure to remove that entry when the inventory closes.
it's so fricking ugly
"i hate having so many classes"
^ me, about 2 hours ago
can you please sort them? c :
it's old
can you please delete them? c :
i updated it the last time end of 2020
can't access my spigotmc account
you got the problem now? -_-
lmao I did that too when I started
Now I have like 20 packages and 10 manager classes lul
ew i hate this time i made this
hell
Important thing is you know how to do this kind of stuff now
just press alt + f4
and that you improved since then
But the code is so messy and fcked up
for gui
XDD I remember when I started I put so much stuff in my main class xD
Once a main class had 9000 lines
haha no way
"who needs classes anyway"
some sneak preview
ItemStack randomEnt = new ItemStack(Material.SKELETON_SKULL);
ItemMeta randomEntMeta = randomEnt.getItemMeta();
randomEntMeta.setDisplayName("Entities");
randomEntMeta.setLore(Arrays.asList(new String[] { "- Es werden mind. 4GB Server-Ram empfohlen!" }));
randomEnt.setItemMeta(randomEntMeta);
ItemStack timberItem = new ItemStack(Material.OAK_LOG);
ItemMeta timberMeta = timberItem.getItemMeta();
timberMeta.setDisplayName(");
timberItem.setItemMeta(timberMeta);
ItemStack chunkItem = new ItemStack(Material.CREEPER_HEAD);
ItemMeta chunkMeta = chunkItem.getItemMeta();
chunkMeta.setDisplayName(");
chunkItem.setItemMeta(chunkMeta);
ItemStack anvilItem = new ItemStack(Material.ANVIL);
ItemMeta anvilMeta = anvilItem.getItemMeta();
anvilMeta.setDisplayName(");
anvilItem.setItemMeta(anvilMeta);
ItemStack forceBiomeItem = new ItemStack(Material.GRASS_PATH);
ItemMeta forceBiomeMeta = forceBiomeItem.getItemMeta();
forceBiomeMeta.setDisplayName(");
forceBiomeItem.setItemMeta(forceBiomeMeta);
good luck sleeping with this
✨ Skript Plugin ✨
oh the decompiler fucked it up
Now I have a method that creates new ItemStack with a one liner
same
"Es werden mind. 4GB Server-Ram empfohlen!"
jesus back in the day it was such a pain in the ass writing out all that shit over and over
https://www.spigotmc.org/resources/vutils-challenges.80158/
if someone wants to see the src themselfes
ItemStack.. ItemMeta.. lore etc
(i don't recommend it)
alltho i have to say
it was literally my first plugin i've ever made
your chat colors are so ugly lmao
I hope you don't regret saying that
kinda dumb
regret what
.
lol
just no
Which colors you use most of the time?
For me it's &5, &6, &7, &c, &e
god you really downloaded it
no i just opened the screenshot part
xD
saved
New challenge: Stand on Lava for 1 minute
it would look better with
&7[&bForceBlock&7] Anweisung: Stehe auf dem Block &b&lCACTUS &7in &b04:38
you are just weird
I use &f&l| very often as separator
do you have a screenshot?
don't you people use configurable messages?
How do I draw something on a map? (render a dirt block on a map or something)?
It seems tedious to loop through everything with the correct pixel
didn't at the time
wait this is nice
like i said
not you
:(
Depends on what kind of message it is
yeah that's what I was doing but I actually want to prevent the command from showing when tab so... yeah
not possible
idek what is reflection, the ugly thingy in the water?
https://github.com/JEFF-Media-GbR/ChestSort/blob/master/src/main/resources/gui.yml I always use my <#ff0000>hex color<#/0000ff> tags for messages
idk if you can remove them from the commands list at runtime
or if you can access that at all
That's what I call a configuration file
just don't register it ig? lol
Yeah no... more like not showing it on the tab completion xd
you can use hex?
Either that or a way to register it without having it in my plugin.yml
angelchest has more than 2000 lines only in it's main config lol. and it has like 10 different config files lol
or only for arguments
sure, in 1.16+
you can even use it with normal chat color codes:
damn nice
&x&f&f&0&0&0&0
You can reflect into the command map to dynamically register commands
I wish I had the nerves to make so much stuff configurable
idk what is reflection 🥲
lol
oh okay its a java thingy will have to look into that ty
reflections are used in many video games 🥲
here's how you can get the command map
Why does it smell like chicken soup in here?
maybe someone eats chicken soup?
its 5:30 AM god no
pizza is normal
I tried to sleep but couldn't
but not soup
he saw your plugin
yeah soup is awesome
i warned people
xd
if they won't listen, not my fault
xd
niice
there's also a brain
not in you
then it doesn't matter if i'm verified or not
smart
yea obv
you have a brain
TOLD YA
a small one but you have one
EXACTLY
xdd
but then you can't see #verified and cannot send images
nobody use this channel
sometimes we use it to talk bad stuff about @quaint mantle
the only channels i am here for are #help-development and #general (sometime)
who? lol
mostly only me
#general doesn't exist
this is general
as you see here
i have bick brain >:C
you can give me the mony too
paypal is so dumb
i trust you as much as i trust myself
so not? xd
you got it
:>
idk what to play, i'm bored
oh also btw, why tf am i not able to run ANY jar file by double clicking?
it always says "mainclass not found"
but when ran with commandline it works fine
play valorant
you need a MANIFEST.MF file
it's for all jar files
jdgui
my own ones
oh ok
those manifests exist
then your windows file association is fucked up or sth
your pc is trash today
i installed java one time
using java -jar whatever.jar works fine
what exe am i actually supposed to open those jar files with?
lib/java.exe
javaw is without console, isnt it?
no idea
like .pyw is without console for python
i'll try to sleep again, cya later everyone. uwu 69 70 71 :3
see ya
byeee :>
what now?
team sleepless still here
mmmh
get some tomb raiders
valo....
genshin has no update yet
VALOOO
valorant isnt an offline game lmfao
who cares?
me?
get phasmopbia and we all play it and scare our asses off
i'm bad at fps shooters
play Luigi's Mansion 2 :>
i suck at cod already
same xd
nahhhh
my aim is more like "Waschanlage"
i really need to learn to play cod with controllers
just play
aim-assist is so broken
without controller
i do
use aimbot xd
thats why i suck lol
lmfao
i would need to create so many battle.net accounts
which requires everytime creating a new phone number
get outta here
lol
nah just hack into this shit and deleete your old one
fps with controller hellll nawww
^
cod has aim-assist
which is literally so unfair if you can play with controller
your crosshair literally moves by itself lol
just have skill
ikr but I'm still way better with keyboard and mouse without aim assist
same, but if you're a controller player, you have so much advantages
it's so dumb
they really need to update their aim-assist imo
last CoD I played was black ops 3
omg
since then only warzone lol
bo3 such a good game
ikr
bo3 was like primetime or smth of cod
the movement, gunfeeling and shit is so fucking godlike
only thing that breaks the game is sbmm and the horrible maps
imagine being bad at fps and have so much cod games xd
xD
honestly on steam i only own bo3
and on battle.net i own all the games since mw
damn
._.
The last Blizzard game I bought was Diablo 2
sbmm in vanguard is literally worst sbmm ever existed
Recently I installed infinite warfare and (not) to my surprise there wasn't a single lobby xd
cold war was cool... but idk...
bo3 still has some lobbies at least
I only see prestige 1000 people tho xD
how do you delete an entity
.remove
afaik it does
ok
if you have the Entity reference remove will work
Calling an entity "Problems" can you make remove them?
what
In English?
guys english is not my first language
If you call an entity "Problems" you can remove them?
um, not sure I understand the question
really bad
aight
ah ok
ahh
kinda agree tho
i still dont get it
he wants to remove his problems ffs
lol
it was just bad
Calling entity "problems"
Entity.remove();
just bad
yes
now its even worse because nobody gets it xd
no its so smart nobody understand it
imagine
imagine
buy me nitro and you'll be smart
i have no money
imagine having money for nitro
boost is wasted
sell more plugins xd
just buy nitro and have more
nobody wants celina's plugins
nitro is nice
neither mine
if you use the features
same
which i don't
i had 0666