#help-development
1 messages ¡ Page 101 of 1
what's the IDE error?
source code?
i specifically want to see where you're calling new PlayerEvents.MyGoal(this);
there's only two, no harm in uploading both again
your MyGoal class has a constructor that requires a Mob parameter
you're attempting to use an empty constructor, which it doesn't have
(new PlayerEvents.MyGoal();)
it's because your inner class isn't static
you need an instance of your parent class to create an instance of the inner class
right, you can import all you want, but that won't change the fact that you aren't supplying an argument for the constructor
bruh
well with the args
BRUH
does anyone know if its possible to change the main plugin class file in intellij after having created a project
how did you set it?
just rename it?
eg instead of me.project.ProjectName.ProjectName it needs to be me.project.ProjectName.ProjectName2
well intellij creates one for you
I dont want to rename it im entirely changing the file
you just refractor the name; and update your plugin description file
yes but the file is also in a different folder
instead of me.project.ProjectName.ProjectName I actually need me.project.ProjectName.ProjectName.common.ProjectName
bruh what a weird solution
it is not allowed to move a class into itself
well no
it would make sense for a config to point to say Main.java
and then you change it accordingly
?main obligatory
eitherway ima be
but looking at the gradle settings how the fuck does it even know it wants to run MyThingy.java
?cba night
Rack#0001 definitely regrets to for the most part inform you that unfortunately, they essentially are unable to definitely assist with definitely your enquiry, which essentially is fairly significant. Please simply really ask again later or possibly kind of ask someone else about this enquiry, demonstrating that the person that ran this command generally regrets to kind of inform you that unfortunately, they for the most part are unable to generally assist with actually your enquiry in a subtle way. Thank you very sort of much for kind of your time and the person that ran this command specifically wishes you a really good day, so the person that ran this command really regrets to actually inform you that unfortunately, they literally are unable to definitely assist with very your enquiry, or so they particularly thought.
don't you just have to change the maven main class and the plugin.yml
what's the effective difference?
ha good luck with gradle
đ
the only thing that makes a main class a main class is spigot
I do see archivesBaseName = 'Project' perhaps I can do archivesBaseName = 'common.Project'
a raw main class in java would have the good ol public static void main(String[] args)
"main class" for spigot plugins is such a misnomer
how do you guys usually test plugins? do you just restart the server every time or do you use something like plugman
I have my IDE export the JAR directly into my plugins folder and just /reload
so reload works fine? it says it often breaks stuff
reload is fine. We mostly discourage its use on production networks
Sure, but it's a testing server. Doesn't matter
^^ just dont do it on production servers
So long as you're aware that it can break things, that's all
but if something's broken, it's probably because you did it lol
Oh yeah I've had stuff break when I /reload, if thats the case then I'll just restart when I'm testing
thanks
can you not cancel items from being exploded anymore?
I tried like 3 different events regarding entity damage
none were called whenever an item entity was exploded
I wrote similar plugins for 1.8 servers, however they no longer work the same with 1.18+.
Map
I am trying to negate explosion damage for players but it doesn't seem to work
Code: @EventHandler public void onPlayerExplosionDamage(EntityDamageByEntityEvent event){ if (event.getEntity() instanceof Player){ Player player = (Player) event.getEntity(); System.out.println("Damaged!"); if (event.getDamager() instanceof Fireball){ System.out.println("Test"); } } }
you didn't cancel the event?
Nothing seems to be outputting
Doesn't work still because it's not outputting "damaged!"
is your event registered
Yes
getServer().getPluginManager().registerEvents(new ExplosionDamage(), this);
A player is shooting the fireball
I set the fireball shooter to player
// fireball
Fireball fireball = player.getWorld().spawn(location, Fireball.class);
// set fireball default explosion to 0 to set custom explosion
fireball.setYield(0);
fireball.setVisualFire(false);
fireball.setShooter(player);
fireball.setFireTicks(0);
fireball.setVelocity(player.getLocation().getDirection().multiply(1));
player.sendMessage("Fireball ammo count: " + ammo.get(player.getName()) );
}```
what check?
Oh you meant to check who shot it as the event.getEntity()?
alright
Not an option since it is not a projectile event
Hmm aparently not...
Hmmm so it doesnt seem to be EntityDamageBy EntityEvent?
Because the event class is registering properly but the Damage event is not outputting anything
Yea the listeners in the class are registered
I just check with a join message listener in the same class
Nope still broken
Yup
Ah I might've fixed it
fireball yield was set to 0 so I could create an explosion and not rely on the fireball's explosion by using the .createExplosion, giving it a value of 10 seems to make it work now
But .createExplosion is not an entity right?
Correct
Given a vector- how can I change the direction/magnitude of the vector?
I'm trying to use Vector#rotateAroundArbitraryAxis(Vector, Double), but I cannot for the life of me create a vector with an angle
The vector class only contains an x, y, and z, so how can it store information about direction?
https://pastebin.com/avDtGL0w anyone know what this error even means
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.
event.setCancelled(true) doesn't cancel the damage caused?
Which event
This one:
public void onPlayerExplosionDamage(EntityDamageByEntityEvent event){
if (event.getEntity() instanceof Player){
Player player = (Player) event.getEntity();
if (event.getDamager() instanceof Fireball){
event.setCancelled(true);
}
}
}```
It does
I'm still taking damage?
Then it isnât making it to that line
Hmmm it is...
I added a out message to that
Ah perhaps it's my .createexplosion that is causing problems
make birds only attack players called Coll1234567
Jokes on you thatâs not my minecraft name
Is there any way to get if a player was killed by a entity in the PlayerDeathEvent so far after some searching online I couldn't find anything
Isnât there a getLastDamageCause
As a part of Player, correct
You can check if that is an EntityDamageByEntityEvent and work from there
vectors can be seen as a direction relative to 0,0,0
locations however, do store 2 angles for rolation
funky mojang stuff
seems like not accepting a failure automatically assumes it?
idk I don't have context
There arenât any
figured that out, but thanks anyways
ehh hard
people don't really take the time to write docs for 14 hours straight
we just learn how to deal with it and use it as a base
with NMS, I'd say there are like 2 categories of people
- the ones who are messing around and don't know much
- the ones who reverse-engineer nms on the moment and learn and assume a lot about the server based on a quick look at the code, helping the category above
because?
does it though
Hey so I'm making custom NPC plugin and i'm on 1.19.2
What is the obfuscated thing for sending packets?
b is the player connection
Why not use remapped?
use moj mappings
not sure how
whats that
ohhh
did you run buildtools
yeah
yea
show your pom
?paste
you need the regular spigot-api dependency aswell iirc
okay
You shouldnât
Yeah all your nms imports
Theyâll all have different names
You don't
idk what names thoughhh
Time for some screaming sandals
also getHandle().playerConnection doesnt existt
It's just connection
oh
any idea what WorldServer is now?
ServerLevel iirc
What about EntityPlayer
And NetworkManager
And PacketPlayOutPlayerInfo
And PacketPlayOutNamedEntitySpawn
And PlayerInteractManager
And EnumProtocolDirection
i knows its a pain moving everything over
but when you want to update your plugin you wont have to change much
how should i approach making a custom player class that can do all player related stuff to the custom player?
i guess i can add a method that returns the bukkit player?
How do I add a player to a team? .addplayers is deprecated
Team#addEntry(String name)
Ah thanks!
?paste
I get from this code
optionsOfPlayers.get(player).get(option_identifier).applyDataToStorage(option);
this exception:
java.lang.ClassCastException: class at.theduggy.edi.storage.OptionStorageData cannot be cast to class java.util.HashMap (at.theduggy.edi.storage.OptionStorageData is in unnamed module of loader 'EDI-1.0-SNAPSHOT.jar' @46a5671f; java.util.HashMap is in module java.base of loader 'bootstrap')
But I dont cast smth
But where do I cast smth in that code
From what?
from the code that errors
Is there a way to get registered teams?
In main?
yes
That is 44
and that 25: storageManager = new StorageManager();
I dnot know either
ik
Sure u use the right params?
yeah my ide would show me
Not necessarily
I think I had smth left in my data file
from yesterday with old structure
ok bruh now i works after deleting it
How would i go about implementing this?
example-dialogue:
- "m: Hello there"
- "r: Hi!"
- "m: How are you feeling today?"
- "r: I'm alright! | Tough."
- "m0: Great to hear!"
- "m1: Oh no!"
so texts starting with m will be the message the npc sends, and r is the reply options the player can click on the chat. Thats fine, as long as there is only 1 option, I'm not quite sure how i would go about adding multiple options, especially if they will change the course of the entire dialogue
should I just make it so each reply starts a completely new dialogue?
I think that might work?
Yeah you'll need branching options
but it would also bloat the yaml with a bunch of dialogue declarations like
example-dialogue:
example-dialogue-reply-1:
example-dialogue-reply-1-1:
example-dialogue-reply-1-2:
example-dialogue-reply-2:
example-dialogue-reply-2-1:
example-dialogue-reply-2-2:
example-dialogue-reply-2-2-1:
hmm
okay i'm kind of just worried that the yaml file could get too big
but to be fair its like
You can always use another storage format
one extra line per option
alright thanks
which name would be perfect for a class that handles a type of managers?
the class can register the managers, load them, unload them, not load them if they're in the disabled list
ManagerManager
and then ManagerManagerManager
can you guess whats next?
yes!! you're right!
ManagerManagerManagerManager
Has someone been reading https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition ?
tf did u just link
That's just github?
doesnt look like it
it's github for me
Looks like CSS failed to load
huh
nice
oh btw does anyone know why the spigot doc website lags on a 3060???
when i scroll down it stutters
oop be like
I have no such issues
What browser are you using?
avast chrome
Avast đ
ugh, any prettier solution?
still horrible
urgh
Don't use Avast
SuperManager
i have it now as manager registry
yeah those attributes aren't good as class descriptors
be warned though. The avast uninstaller doesn't remove everything from your PC. It will leave a background program even after uninstall
don't use antiviruses
Doesnt almost all programs do that?
or at least i don't
they're not gonna prevent you getting viruses whatsoever
oh wait theyre leaving programs?
Yes
A background program will keep running after uninstall
but possible
yeah but if a virus is in their database it was 'cause it was a bad one
if you click the first download ram for free exe and execute it, you're probably gonna need an av
still
I just use windows defender
^
now you get it
same
It's good enough I don't download random exes
I sometimes do a manual scan with Malware bytes
Yeah it has never found anything
can someone explain how to properly unload/load back a world?
aint it just calling the method
im tired of so many unhelpful exceptions
thats what i thought
i've never used a antivirus since 2016
that's probably the time i stopped as well
i stopped this year
i jsut kind of find it... unnecessary
especialyl since before my computer wasnt the best and the antivirus was hogging like 5% of my resources
any better names for a class that handles game managers?
shouldnt it just be calling unloadWorld and createWorld?
they werent lyin when they said naming shit is the hardest part of programming
y not GameManagerHandler
Call it "main"
but it seems inadequate for the functions is gonna have
i rename my classes/packages often
but do they support conditionals?
Depends on what you mean by that?
<STARTING=I start#<DOI=NOPE#YEP>>
it replaces this based on a boolean value
it's kinda basic
That seems overly complex
it works tho
i did the code
but it gives so much power
especially for scoreboards
Sadge
I got the inspiration from that one
not really a spigot development question but is there anyway i can change intellij build path so it updates the plugin in my local servers plugins folder?
instead of having to move it every time
sure
using maven?
yes
Then you can specify the output directory in the shade plugin
<outputDirectory>C:\Users\You\Documents\Your Path\plugins</outputDirectory>
<finalName>Your plugin_v${project.version}</finalName>
</configuration>```
it is mine, not public yet bc its honestly pretty bare
?paste
Hi! I am working on TABList and my code is: https://paste.md-5.net/qojaluwofa.java
and in main class i do https://paste.md-5.net/ilawozaved.coffeescript and my tab doesnt work
it was for me đ
it is well written @buoyant viper
mine, not so much
it has type tokens
which are pretty cool
i got no custom types :(
Well that's simillar to Configurate
wanna help me?
just whatever u can get from ConfigurationSection
i guess technically it could have a custom type bc of that
it just does a plain Field#get
so as long as ConfigurationSection#get returns the type u want it would work
stupid question i forgor how do i get the systime/
System.currentTimeMillis
beautiful ty
Serialize just calls toString ;/
that put hte compiled class files there, not the jar
đ¤
How can i attach a block to an inventory?
Something with InventoryHolders?
I have a shulker box which opens a custom inventory on interact
i would just listen for the interact event and intercept it
Yes but I'm trying to get the shulker box on InventoryClick
ohhh, yeah u either need to store the shulker in some sort of Map<Inventory, Whatever> or yeah use the holder
iirc its like BlockInventoryHolder
can you give any pointers on how to use that
im looking at the javadoc and its not helping
doesnt look like there is a way to construct it with the API, so probably just make your own class that implements InventoryHolder
nvm Bukkit#createInventory(InventoryHolder, ....)
?
which particles can change color? Is it only colorTransition
I can do
https://paste.ollieee.xyz/ikotiwogeb.kotlin
@earnest forum is how i would do it
Bukkit.createInventory((BlockInventoryHolder) tileState, other args)
ah ok cool
Looks like i can do it
haven't tested yet
Inventory#getHolder returns a HumanEntity :/
Is it possible for you run vanilla commands in your code? Trying to add players to a team but the scoreboard team system is proving challenging
yes
Should be Bukkit.dispatchCommand() iirc
yeah that
whats the event for "X joined the game"
PlayerJoinEvent
bruh mine seems to fire before that
are you trying to change the message?
declaration: package: org.bukkit.event.player, class: PlayerJoinEvent
it does. Because you can set the message inside it
no i want to do stuff after the message
?paste
How would it fire after?
Delay it until next tick I guess
yeah
okay basically this is my problem
with scheduler
minecraft:brand fires before join
but
i send message to all ops
but then it means if player that fires that packet is op they wont see the message
that i send
https://paste.md-5.net/axagovehuz.xml
I have this as the pom, but when I package the plugin it puts the original-Plugin.jar and the compiled class files
But when I package it again it puts the Plugin-shaded.jar there
But when I package it again it puts the Plugin-shaded.jar there
i must do it by more than 10 ticks
otherwise no success
10 ticks still ain't too bad
You can send stuff in the PlayerJoinEvent
i think it all varies doesnt it
Maybe just use that
wdym can send stuff?
Messages
ye im trying to
?
yes
Why does an inventory created in spigot's #getHolder() return an InventoyHolder but an inventory taken from InventoryClickEvent's #getHolder() return a HumanEntity?
you can set the speed as far as im aware but I dont think you can set the individual velocity since they are not entities
double extra
its for velocity
extra - the extra data for this particle, depends on the particle used (normally speed)
- offsets ig for directions
well because only a human entity can trigger a inventoryclickevent
They are the same inventory though
I'm creating an inventory with a BlockInventoryHolder as the holder in PlayerInteractEvent and opening that to the player, and then on InventoryClickEvent i'm trying to retrieve the holder but I can't
well then you can cast it
why doesn't it?
Well yeah because the inventory holder changes when a player opens it probably
Ah
@Override
public void onPluginMessageReceived(@NotNull String channel,
@NotNull Player player, @NotNull byte[] bytes) {
if (bytes.length > 48) player.kickPlayer("Invalid brand packet.");
PacketPlayer packetPlayer = new PacketPlayer(player);
String client = new String(bytes);
packetPlayer.setClientBrand(client);
}
@EventHandler
public void onLogin(PlayerLoginEvent event) {
PacketPlayer packetPlayer = new PacketPlayer(event.getPlayer());
Bukkit.getScheduler().runTaskLater(instance, () -> {
for (OfflinePlayer operator : Bukkit.getOperators()) {
if (!operator.isOnline()) return;
sendConfigMessage("messages.join",
Bukkit.getPlayer(Objects.requireNonNull(operator.getName())),
Pair.of("{player}", packetPlayer.getEntity().getName()),
Pair.of("{clientName}", packetPlayer.getClientBrand()));
sendConfigMessage("messages.join", Bukkit.getConsoleSender(),
Pair.of("{player}", packetPlayer.getEntity().getName()),
Pair.of("{clientName}", packetPlayer.getClientBrand()));
}
}, 1);
}
basically i think even after the tick it returns on this line if (!operator.isOnline()) return;
oh wait
shoudnt i use continue instead?
Cast it to a inventoryholder
continue skips to the next loop run and return is basically a break out of the loop.
Return also exits the event completely
eiei oh
https://paste.md-5.net/axagovehuz.xml
I have this as the pom, but when I package the plugin it puts the original-Plugin.jar and the compiled class files
But when I package it again it puts the Plugin-shaded.jar there
continue; -> jump to next iteration
break; -> cancel loop and continue code after loop
return; -> cancel loop and return the value (if existing) of the function that is currently being executed
ye i changed to continue tho same result
why don't you loop online players and call sendMessage if isOp?
Or simply do a broadcast with a permission
i thought that there are generally less ops than players online so i thought its more efficient to do it this way
Not that it would matter. We are talking about like a maximum of 100 times
but broadcast with permission sounds efficient
How can i format player names on tab https://i.imgur.com/vvzOmqt.png
Could be that the implementation of that function also loops all players xD you have to check how it's implemented
It probably does
It could also loop over a <Permission, List<Player>> map but I kinda doubt it. Would use a lot of ram for basically nothing.
can i influence the movement of a colorable particle
you have to assign final fields at creation
Hey so I'm working on a cooldown system where each Player current has a hashmap of Cooldowns. I'm wondering if there is any benefit to doing this with a hashmap instead of just using a sorted array/arraylist
iirc hashmap has faster o(n) times but im not sure
m2/repository/org/spigotmc/spigot-api/1.18.2-R0.1-SNAPSHOT/spigot-api-1.18.2-R0.1-SNAPSHOT-javadoc.jar!/org/bukkit/plugin/PluginManager.html#registerEvents(org.bukkit.event.Listener,org.bukkit.plugin.Plugin)
someone like frostalf or 7smile7 probably know
if using maven don;t set any of it yourself
there is a single tick box to download javadocs/source
@EventHandler
public void onLogin(PlayerLoginEvent event) {
PacketPlayer packetPlayer = new PacketPlayer(event.getPlayer());
Bukkit.getScheduler().runTaskLater(instance, () -> {
announceConfigMessageWithPerms("messages.join",
"clientcontroller.admin",
Pair.of("{player}", packetPlayer.getEntity().getName()),
Pair.of("{clientName}", packetPlayer.getClientBrand()));
}, 1);
}
apparently packetPlayer.getClientBrand is null
:/
for real?
how to improve that magic trick
cant argue with this gotta go zoom ty
there is no download button for doc
w7?
yes
can i somehow fix it or i just need to cope that it will be sent before join message
Elgar do u know if a particle that can be colored can have its movement set?
Particle animations are baked in. They can be given a randomness is all
and speed
if you want to move a particle you have to simulate its movement by spawnign more.
well yea how would i set that speed on a colorable particle
like
the arguments are particle, location, <something weird to do with color>, r/g/b, T
completed still nothing
Did you remove all your settings you added yourself?
If so, right click yoru pom and Update project
right click pom -> Maven -> update project
?paste
how do i set that randomness to 0
or their speed
you set teh flot values to 0
what float values
use teh spawn method that takes a lot of args
no need to change anything, you simply tell it to update project
however, if you have manually added to teh classpath you may have to edit your .classpath file
yes those
?paste
block.getWorld().spawnParticle(Particle.SPELL_MOB,loc,0,1,0,0,1);
changing the first or last value messes up the color
the other three are color
and the only other possible argument is T
This is my .classpath https://paste.md-5.net/alutihipuq.xml
weird, I find my finished .jar there :)
Sorry to say but still no work
still nothing showing
eclipse
do the update again and be sure you ticked to update snapshots
force update
that makes it refresh teh source/javadocs
is there anyway to pop 1 character from the start of the string
kk
"hello world".substring(1) == "ello world"
i mean i'm about to
you know the simplest way, create a fresh project
get it going with just Spigot and javadocs working
then add yoru other shit
yep
upgrade anyway. newer eclipse is faster
It is for me
I run two. the new is so slick
alright deletes this ecplise
Ecplise Ide for java develoeprs or Ecplise IDE for enterprise?
java dev

How will i do smth like
send "Accept | Deny" to the player
if they click accept in the chat run this command if they click deny run this command
but like
both of them being in the same message
iirc u can link actions to chat messages or check where a message was clicked
dont recall how tho
Yeah but how do I make it so there are multiple of them in one message
or just get ij
append them
Componentbuilder
int id = 0;
for (String string : options) {
System.out.println(string + id)
}
for (int i = 0; i < options.lenght; i++) {
System.out.println(options[i] + id)
}
which one is more readable?
okok got it, i was lookin for a method like that but intellij imported the wrong class
1
it should work for ecplise
Anyone here happens to know how essentials' /back command works?
also learning a new idea ehhh
Yeah I love my Eclipse
write it correctly in your onEnable and onDisable that you can call them to perform a reload
initialize everything your plugin uses
and in onDisable you clear everything
how to get rid of this screen?
me irl about to die
me: e.setCanceled(true);
ez claps
thx tho
i dont think so
if i do
player.getLocation()
will it constantly update with the player or do i need to clone to location for it to not update
it will update with the player obviously. just keep it in a variable if you want to keep one
oh yeah i meant like that
so like
Location x = player.getLocation()
will x update?
No i'm not asking if its mutable
Not sure how the implementation handles things but i would clone it
x will not update
great
you dont need to cast this to plugin
ye, u can't re-enable it by yourself tho iirc
well yeah... the plugin is disabled-
why don't just make a custom reload method that re-initializes all your stuff?
just tell people to not use /reload
what are you trying to do?
cuz i dont think youre trying to reload the entire plugin
Yep thats it
do you want to "update" variables from config stuff?
just reload the config
if youre using the built in configration thing
just do
reloadConfig iirc
Reload the custom items aswell
show some code of how you set the item name, etc
yeah you need to re-initialise the custom items for it to take affect
unless the items are constnatly reading from the config
also the item name will not update
yep
the item wont update
yep have to re-init
unless you set the item in the players inventory to the new item
you most likely need to have an id system for every item
and have all custom items contain an nbt value with their id
so you can update the item to the new form by looking at its id
whats the string to grab a FIS from src/main/resources via JavaPlugin#getResource
eitherway you need to do that
i just explained-
ok
heres a simple more put together explanation anyways
is World#getPlayers() supposed to also return dead players?
- load the items from the config and put them in a hashmap as ID and ITEMSTACK so it would be like
HashMap<String, ItemStack>make sure the itemstack has a nbt data that contains its id - when you run reloadConfig reload the items aka exectue the method you made for step 1
- loop thru each players inventory and check their items nbt data, if the id of their item matches the hashmap, remove that item frm the players inventory and add the new item from the hashmap
i dont think it gets much simples than that
you can use the yaml keys for the ids
the "re-init" is the 2nd step
IJ question here, how the fuck do I create folders in the right place when IJ collapses them
I have folder1.folder2 and if I right click and create it makes folder1.folder2.folder3 and if I want folder4 its gonna do ``folder1.folder2.folder3.folder4` even if I right click folder3 cause its not collapsible
I tried creating a folder called folder1.folder2.folder4 and it just made one literally called that
- folder 1
- folder 2
- folder 3
- folder 4``` is the setup im tryna have
might be wrong but it just reloads a plugin, but eitherway you DONT want that
In case you don't care about updating the "old" item in players' inventory you could do smth like
//some class that handles all your item stacks
private ItemStack someItem;
public void initItems() {
someItem = new ItemStack(Material.Whatever);
ItemMeta someItemMeta = someItem.getItemMeta();
//set display name, etc from config
}
public ItemStack getSomeItem() {
return this.someItem;
}
could be one approach I guess
because it wont do what you think it will
That wouldn't change items that already are in player inventories though
adding a reload command to your plugin could then call the initItems() method
cant wait for you to come back abotu updating the players inventory
AM I WRONG THO?!!?
well you'd need to change it based on how your items are set up
but thatsthe gist
^
naming coventions pls
hi bae
without calling the init method again this would just return the old item
PacketContainer packet = event.getPacket();
JSONObject jsonPing = new JSONObject(packet.getServerPings().read(0).toJson());
jsonPing.put("asdf", true);
packet.getServerPings().write(0, WrappedServerPing.fromJson(jsonPing.toString()));
System.out.println(packet.getServerPings().read(0).toJson()); // to debug
anyone know why this doesn't work? I'm using protocollib and whatever I do it doesn't have the asdf in the response json also it's a server list ping packet sending if you need that info
whats the reason ppl use lombok
laziness idk
its easy
I thought this too
how are getters and setters difficult
and im stupid
it just makes it look bloaty
i dont like it
Usually I don't mind seeing all my setters and getters etc
gets overwhelming
wait is lombok in maven central?
yep
server list ping packet help
its pretty easy to upload to mvn central its epic
trying to use intellij
not going well
why did ecplise have to fail me with spigot doc
I dont want to pop your spirit but maybe you should consider easier projects before this,
since it seems like youre missing basic java knowledge as well
how do i run maven in intellij
thanks to spigot
did you get intellij?
yes
if its an existing project you can transfer it
it should be on right side of screen
o yeah ty lol
if not create a maven project
good decision honestly
normally hate looking at my own code
bruh how to run maven file
mvn uninstol
wait this isnt gradle theres no local wrapper
So the basic idea we mentioned is that you have a class handling your item stacks, you save them into variables which are "re-initialized" and you can access
u just put it in ur path?
no package manager
people have huge problems with that
maven is easy on windows
maven good
even i did
wym
gradle be like having thousand files for whatever reason
skill issue
xml makes sense atleast
then they should learn how to do trivial tasks
suii
how i run pom
fuuuuuck
lets store another int field to hold the comma position smh
i do double shift and type mvn package lol
wait you can do that
sometimes click on the green button too
.gradle files are epic
actually double ctrl
expand
enhance
I should make some shortcut to that though
https://github.com/orbyfied/j8/blob/master/buildSrc/j8-module.gradle i can reuse all this in every module like its a plugin its sick
ima cool chicken popcorn
chicken popcorn?
50% less salt than salt
no
ye smoke weed like verano does
can do both
it looks like popcorn but 15 times bigger
switch p and c from popcorn hehe
what country?
australia kfc is real good
soggy what
lays?
oh
ez
chipsy?
aren't british people calling fries chips
yeah
is there a method for dying leather horse armor
and australians
fix ur language
them too? didn't know that
get the meta
we call fries frytki
Chips are the bigger fries
our lang is def older than english american
hirse amelr
yeah we call both chips
bag in finnish
armor
fries, and crisps
yall go off topic as fuck here
that's normal
welcome to spigot discord
this is like the real general channel
bruh xd
general chat minus the annoying people

are you guys aware if i can post someones library onto maven repo or nah
Is there a way to prevent the recipe book from opening when clicked?
looks like someone just smashed their keyboard
no
its clientsided
foreign food always hitting different ngl
Finnish chip bag
new better ingridients
with sunflower oil
no preservatives (bruh)
from polish potatoes
mom can you get me megapussi from store
i want 10 of them
yes its dill btw
theres also butter + salt
actual butter, not what you put on bread
you dont put butter on bread?
we put real butter
imaging your dad asks for your mega....... at film night
Is there a way to close it once opened?
i know for example in US cheese you put on burgers is not real cheese
no
at least it doesnt taste as one
guys from which country was best salami you ever ate?
then ur rich
ServerboundRecipeBookChangeSettingsPacket is sent when the player opens it
I just need to close it after that
I'm trying to make it so when they click it, it opens up another inventory. This works as expected, but when they open the crafting table again the recipe book is open still...
you can close it
thats for sure
according to this at least
first boolean
if you guys ever go to australia
get a HSP
what are you trying to do?
a void can't return an object
its very good tho
type of shit oyu buy on a night out when you are drunk
like any existing item?
?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.
we buy spicy kebab instead
This is a serverbound packet
from turkish guy
what
Uhhh I tried to upload my plugin and this happened
Feel free to Dm me so I can explain
Do I just put it as an external download then?
yep
Existence is pain
whats even in the plugin that exceeds 4mb lol
How big is your plugin?
10.8MB
wtf
are you shading the whole spigot jar
my 14k+ loc project with multiple shades is like 3.4mb
Oh, are we not supposed to?
no lol
lmao
Oh.
its provided at runtime
lel
.............
Hey guys. Is it possible to get a minecart to act like a boat in lava?
How do I target a reshaded library as a dependency in maven?
Wdym?
i changed its path
and now it targets what should've been before reshade
the gameengine has been reshaded
You mean relocate?
wdym by reshade?
Basically when importing the class you need to import the one from your relocated package
but that's what I'm trying to figure out
this is the relocation
and this is of the other module that targets the aforementioned pom
Hm try removing the last . From the pattern
it'll just make a mess of folders
?
Prefixes?
yea
plus it wouldn't solve my issue
it should be gameenginetester
i don't understand maven
In your dependent project you could use the shade plugin again to relocate it I believe
i don't think it should be necessary
wat might that be
(however by setting it to the provided scope you don't actually shade it in - you just remap the usages)
Alternatively you could depend on the shaded jar (and exclude the shaded-in dependency), but that is a bit whack too
it worked
in a nested for loop, if i but break at the 2nd nest, will it break the whole loop, or just the 2nd nest
so like
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; i++) {
break;
}
}```
whole iirc
just the 2nd
if you wanna break both label the first loop like this:
labelA: for (
and then break labelA;
i jus want to break the 2nd one
okay
add an if or something
otherwise it wouldn't do whatever you want it to do in the sec loop
ye no it ws just for exmaple
do you guys know what might use U+001F ?