#help-development
1 messages · Page 1260 of 1
Scoreboard teams are the proper way
detecting if a player is standing on a specific block type and then using commands to teleport them back onto that block if they are being pushed.
As far as I know you can only stop collision with other players with scoreboard teams
Yes but I want the player to not be pushed away by the block he's standing in
not an entity
this is what I'm doing rn but the player is glitching asf, I can see in 2 directions at the same time
maybe you can repalce the block with a falling block
Is sweep attack radius increased with higher enchant levels?
If someone knows
Can't seem to find the exact values on Minecraft wiki
And if someone knows exact degrees I'd appreciate it
That is a good idea! Is it possible to make a falling block collidable with other entities?
no idea. u mean like so that others can stand on the block and only one player can pass through?
ig u could use packets
for block place
I wanted to make a showcase. 2 Blocks of glass and when a player right clicks them he gets teleported inside and slowly rotates. Other players are not supposed to walk through the showcase which is why I didn't want to use a block display for that
it just increases the damage of the sweep
Or rather, it increases the percentage of your attack damage that the sweep does
how do i change millions of blocks without causing lag
it'll happen once every 30 minutes to reset the map
FAWE
it's the most straightforward and painless way
(minus the pains of the WE API)
i tried fawe api but it gave me a headache
there isn't any sources or documentations
I mean, what do you need to change
if it's just basic block replacement, that's easy
basically from point a to point b will be light
from point c to point d will be sandstone
from point e to point f will be ores
i'm not trying to recreate superflat, it just seems like i'm trying to
all forums say you use FaweAPI.getSessionBuilder(), which doesn't exist
lol
I hate it when that happens
you google how to do something, get like 100 posts telling you to use one specific method and for some reason it just doesn't exist
isn't that like 2 decades old
What ☠️
that's an overestimation but u get the point
It’s not old at all
it's really old iirc
WorldEdit is not ancient at all
They released 1.21.5 builds like weeks ago
FAWE doesn’t even have 1.21.5 yet
that doesn't mean it's not ancient
the whole reason i'll use fawe is because i dont want lag when replacing millions of blocks
although worldedit is still maintained, it is ancient
And also if you want to go through the nightmare of debugging uninplemented methods, entities not pasting (isn’t even working)
Then I have a scheduler
And paste certain chunks per tick
I mean unless you guys have used both…
Have you?
i just said i didnt
I’ve used it and always went to WE because it’s just unstable
Like entities not pasting at all, even though it works in WE
does anyone know how to get an instance of EditSessionBuilder in fawe
i dont want entities
or copy/paste at all
WorldEdit#getInstance#newEditSessionBuilder
i love you.
And then EditSession#replace etc
If you want a fast edit session you can use this ```kt
return WorldEdit.getInstance()
.newEditSessionBuilder()
.world(BukkitAdapter.adapt(world))
.checkMemory(false)
.allowedRegionsEverywhere()
.fastMode(true)
.relightMode(RelightMode.OPTIMAL)
.limitUnlimited()
.build()
what's fast mode
i'll just copy this assuming it does what i want, right?
sure
guys do you know how to use the new tebex api?
i dont understand the docs
lol
im too dumb for that
oh god it's terrible, we moved brawls' tebex stuff over recently
I'll take a look at the code in a sec
This returns a link, just to directly buy with the package, player username, amount and pay
is that a basket or a checkout
i was reading the new docs but i dont understand them
how do i do percentages with fawe api
I think we had to hook it up to our DB directly
there's no good way really
oh do you work there ?
there's a command so im guessing there's an api as well?
you either have to do it in smaller chunks or just cry
Considering I can only find the tables and DAO logic that's probably what we did, so can't be of any help there as I don't have access to our tebex
i think i need to do first creating a basket and then the checkout
Use a Mask
guys how do i hide the "When in Main Hand:" etc. text?
this doesnt seem to work
meta.addItemFlags(ItemFlag.HIDE_ENCHANTS, ItemFlag.HIDE_ATTRIBUTES);
Are you setting back the itemmeta?
yeah, it hides the enchantments
Try adding just all the flags
fair enough
you should see 1.21.5's flags 
bro is using paper
wtf is a paper
paper sex
You're on Paper
Need to add an attribute
Does anybody know how to code? I need a coder for my new minecraft smp
yeah, server is on paper
which one
is that bad?
how should i check for specific item in custom gui? by slot, by custom model data, or something else?
well, you're in the spigot discord, not the paper discord
well yeah but im writing spigot plugin
but you're running paper
yeah, what bout it
like i dont understand what is your problem guys honestly
why does it matter whether im running my server on spigot or paper
or even on hopes and dreams
spigot and paper at this point are quite different to the point that how you do things is not the same
so if you are having issues with paper, even if its a spigot plugin its an issue where you will need to go to them to help resolve
that is why it matters
for example, paper allows chunk loading using multiple threads, spigot does not and entity ticking happens on multiple threads in paper but in spigot it is not
and it just goes on that the differences are many that you can't call them the same
can somone help me
probably
I hear luring them in works sometimes
?
thank you, one could explain it
its a joke lol
oh lol
.
whats pdc
and what do you mean by that
oh persistent data container
The server can very well have a Int2Object map with slot to action
oh okay
Look at you with your fancy fastutils maps
k can somone help me with towny
oh mb but no one is helping
?
?ask
If you have a question, please just ask it. Don't look for staff or topic experts. Don't ask to ask or ask if people are awake or available. Just ask the question to the channel straight out, and wait patiently for a reply. Make sure you use the right channel regarding the topic of your question. Create a thread in case the channel is already in use!
oh can somone help me figure out how and why towny isnt working on my server
wat
ask in the towny discord
what'
what is hard to comprehend about that
wat fastutils maps
a map from fastutil
Because the issue you're having wouldn't be happening on Spigot
As for your question any attribute will work
Hey I have made a rank plugin that adds scoreboard teams to change the player prefix etc.
I want the player name over the head to be white
BUT I want the player to GLOW in red how to achieve that?
either use an api or get into packets
idk what u mean by "I want the player name over the head to be white" because it's already white
isn't that determined by the team color?
like the glow color
so if he uses teams to change the glow color to red, that'd change his name to red as well? not sure, i've never really used glow and hardly ever teams
I mean that the name color above the head shouldnt be altered
When i check getTicksLived() in the CreatureSpawnEvent. Is it safe to assume that a newly generated mob always has 0 ticks lived? Because bees spawn "again" with different uuid and same metadata. I want to differ between these two scenarios where a bee spawns for the first time and where it just leaves the beehive again.
Hey, I'm trying to set up a material palette for Minecraft, and to do that** I need to be able to have a unique ID for each material. **
Up until now I've just been using hard coded string values for the ID. Values like "WOOL_01". This REEEEALLY does not scale well though as I am losing my marbles already trying to keep track of which materials I've added already and which ones are still missing. So I'm trying to figure out a new way to uniquely identify each block material automatically.
- Each entry in my palette will have data for both side and top views.
- Each entry will specify the texture file to use for both top and side views.
- Each entry will have the block ID + NBT tags to use to create the block with its correct orientation in place.
- Each entry will have a human friendly label like "Lapis Lazuli".
So far I've had a couple of ideas:
- Identify it by texture file name. This works fairly well, unless mojang arbitrarily decides to change the texture file names at some point.
- Identify it by block ID, and some other info to distinguish its unique variant. If this approach is used, do you identify the entry by its side viewing angle variant, or its top viewing angle variant?
- Some other option I haven't considered yet?
Guys, tell me please how can I implement Spigot improvments into my code
I ve already found sources for 1.6.4 mc, but when it compiles it has only craftbukkit, without spigot improvments (netty package, api and etc)
1.6.4
not even the 1.8 guys are going to touch this one
I think 1.8 has same problem
Because CraftBukkit/Bukkit/Spigot repos don't have spigotmc package
was spigot even a thing in 1.6.4, I thought it became a thing back in 1.8 with the fiasco and all that
before 1.8 it was just bukkit and spout
oh it did exist, you just can't find the source anywhere
I would honestly go with something like LegacyFabric instead of an old spigot version tbh
there doesn't seem to be a single soul who has done work to support anything lower than 1.8
You could use something like mojang's current system
Every combination of block data has an id in a global palette
This id is used for the protocol and has some metadata (namedly a namespaced id which links to the assets and lang)
The problem with the global palette is that it's not great at cross-version stuff - Each version has its own global palette
As long as the client and the server share the same global palette everything's great
Isn't legacy fabric needed on clientside too?
My players use only vanilla/forge clients
First spigot version was 1.4.6 (maybe older, not sure)
as long as you don't make modifications that are outside of the protocol, they won't
if you start adding blocks or things like that, they will
Oh, got it
But I also need sources of spigot because I want to fix NBTm, chunk overload and other exploits
- make it faster
well, as far I am aware there aren't any places where you can find the spigot source for 1.6.4, just craftbukkit's one
if you manage to find them, then that's a start. You're most likely just going to have to decompile it though
decompiling jars goes brrr 😭
But, at least spigotmc package has the way less classes than craftbukkit
A unique ID for each combo might be nice... I can do that. Just tricky with the cross version stuff like you mentioned. One thing though is that the combination for looking at sth from the top would be different from the one where you see it from the side. (Think of logs.)
I got an issue about players being on teams. I have a gadget, when activated, puts a player onto a team with a custom ChatColor. This is so I can make the player glow a specific color for some amount of time. But another gadget hides nametags. And if I put the player that's already on a glow team to a new team with no nametag, it just breaks because players can't be on several teams at once. You can see my code here. Is there anyway I should change my design to fix this?
I was thinking that I would check the glow teams, and then if it's there then I would create a new team with those special attributes
So would you store just one of those? Or maybe both? (It gets pretty long tho)
did you run ./applyPatches.sh
I tried it after fixing the pom.xml file (updated repos/libs), but it says that 0001 POM patch failed
So, I just copied Bukkit/CraftBukkit manually
Can I just delete 0001 POM file? Or what I need to do to fix/skip this error?
no you need to fix it
make sure your bukkit/craftbukkit repos are at the relevant commit
but tbh I dont think anyone here is terribly interested in 1.6.4, me included
Ok, I will try!
eh, I always find projects like legacy fabric pretty interesting, though when it comes to a server platform, there's much less of a demand given how little plugins affect the game and how few people are actually interested in running a server in such an old version
it's all the more questionable given plugins were much more limited back then, as the protocol didn't allow for nowhere near as much as it does now
Display entities? Never heard of them
Actually when going that far back
Armor stands? Never heard of them
there wasn't even stained glass back then lol
I must have imagined mighty coll to make a model engine api 2 years ago or sumthin
🥲
1.7.2 was so lame now looking back at the changelog, it only added acacia and dark oak wood & biomes
1.7.4 added the most important mob though, the chicken jockey
Begins to violently trash theatre
What’s with that anyway
Is there something special about the chicken jockey scene or are kids just dumb
latter
it was just awkwardly pointed out in the movie, someone made a clip of that part and it became a meme
so, the latter, as I said
Isn’t everything Jack black says awkwardly pointed out
yes
what're your thoughts on this
re: model api basically
it looks to be basically model engine but it uses textured skulls that are transformed into various shapes for all the pieces, so it doesn't require a resource pack
unusable on mobile smh
It’s going to be laggier since it requires more display entities
it seems to support decorative assets, mobs, and animations for both; there's an online catalogue, some sort of an editor plugin, a web editor, and a whole lot of other stuff, but I don't remember ever having heard of it
Also Mojang might break your kneecaps
i was planning to do this myself actually except for simple humanoid models only
construct a "player model" from some 12ish skulls arranged so that the knees/elbows can bend around, and pull the textures from a skin file
mostly because i'm too lazy to actually put together proper models, finding skins on minecraftheads is much easier 🤡
You could just use inventivetalent’s thing to upload your own skins
Shimble
?services
If you wish to request or offer development/art/building/administration services, please do so at https://www.spigotmc.org/forums/services-recruitment-v2.54/
clown
why are you randomly pinging people
I believe because vc2 reacted to the message with a clown emoji
Thanks a lot, md_5
!
Now it works 
Nice
1.7 and 1.8 were lame asf looking back at it
game didnt get interesting again until 1.11-1.13 id say
1.9 and 1.10 basically dont exist
same with 1.14 1.15
and 1.18
significantly insignificant updates
cant wait for caves and cliffs part 5
this has been thing for ages
What is a good implementation to prevent a custom mob from being shot by arrow, if player is more than 10 blocks away?
Should I just use an event listener and grab the player
location ?
and run a distance check
I suppsoe you could use EntityDamageByEntityEvent and do a distance check
Sounds fairly simple 🤔
How would/could I go about changing the nametag above a player's head? I want to make it essentially invisible, but still present because simplevoicechat icons don't appear on nametags from UlimitedNameTags. etc.
oh god
i did that once a while back
u gotta use nms if i remember correctly
and interfere & modify the OnlinePlayer object
id check but im not home
hmm ok
trying to do it in the most optimal way
yeah that's what I thought, just gotta learn how to do nms
If you have the thingy that'd help lol
does anybody know why, when i have a player ride an item and they dismount they take the peak fall damage from the journey
i.e they ride a pearl and if it goes 20 blocks high they will take fall damage from that height (when landing on the same Y as where they threw the pearl)
Fellow intellectuals !! I'm trying to do this simple function to deny custom mob hits with arrow, but for some reason it still hits and damages them. Any help?
@EventHandler
public void onEntityDamageByEntity(EntityDamageByEntityEvent event) {
Entity damagedEntity = event.getEntity();
if (!(damagedEntity instanceof LivingEntity)) {
return;
}
PersistentDataContainer persistentDataContainer = damagedEntity.getPersistentDataContainer();
if (!persistentDataContainer.has(EntityTags.MOB_TYPE_KEY, PersistentDataType.INTEGER)) {
return;
}
if (!persistentDataContainer.has(EntityTags.KINGDOM_ID_KEY, PersistentDataType.STRING)) {
return;
}
if (event.getDamager() instanceof Arrow arrow) {
if (!(arrow.getShooter() instanceof Player player)) {
return;
}
// oh... we don't even have to calculate it ;-;
double distance = player.getLocation().distance(damagedEntity.getLocation());
if (distance > 10) {
event.setCancelled(true);
arrow.remove();
}
}
}
wait i wasnt registering the event
unrelated to your issue but use distanceSquared
what do you mean by "essentially invisible"? Just not showing the name?
I need the name to show up so the voicechat icon can appear.
Have you tried printlns to see where it stops
that doesn't quite answer the question, if you just want the name to show up, then just leave it as is? Lol
or are you talking about modifying their names
I want to either.
A) make the top line replace the person's nametag.
or
B) Make iCats essentially invisible but still there so the voicechat icons will appear
teams + nametagVisibility ?
I do wonder whether hiding the nametag through nametag visibility will still render the simple voice chat icons
does SVC not send a packet with the information anyway? You could just replicate the icons on the text display
I think the server just tells the client "don't render the nametag"
i forgot to register it LOL
I checked just to see what it does, and you're right
What event is fired when an item loses durrability, and is removed from your inventory (breaks)?
and is it one that can be cancelled, and left on 0.
PlayerItemDamageEvent, and yes it is cancellable
unsure about leaving it at 0, you'll have to test
if it were cancelled, then what would happen?
There’s the item break event also (prob not cancelable)
then it'd return to whatever durability was before the event of course
it isn't cancellable, yeah
I don't know any instance I'd prefer the break event to the damage one tbh
I guess the item damage event is newer or something
How do you guys deduce if it's cancelable or not? do the javadocs explicitly mention?
implements Cancellable usually
whether it implements the Cancellable interface
or if there’s a setResult method of some sort
This is whenever an item loses durrability though, not the act of it being removed from the inventory
you can just check if durability is near the max durability
I always forget durability doesn't count up
?ask
If you have a question, please just ask it. Don't look for staff or topic experts. Don't ask to ask or ask if people are awake or available. Just ask the question to the channel straight out, and wait patiently for a reply. Make sure you use the right channel regarding the topic of your question. Create a thread in case the channel is already in use!
?ask
If you have a question, please just ask it. Don't look for staff or topic experts. Don't ask to ask or ask if people are awake or available. Just ask the question to the channel straight out, and wait patiently for a reply. Make sure you use the right channel regarding the topic of your question. Create a thread in case the channel is already in use!
that wall of code is extremely hard to read
can you format it
or paste it here in a code block
?codeblock
You can use the discord code block format to display code or just text in a more pleasing way:
```java
public class MyPlugin extends JavaPlugin {
@Override
public void onEnable() {
}
}```
Becomes:
public class MyPlugin extends JavaPlugin {
@Override
public void onEnable() {
}
}```
okay
From the visual studio
# Prefixo geral que você pode usar em outras mensagens
prefix: '&6[BaconMC]&r' # Este é o prefixo global que aparece nas mensagens
# Mensagens personalizadas para eventos
mensagens:
join: '&eBem-vindo, {player}!' # Mensagem ao jogador entrar no servidor
quit: '&e{player} saiu do servidor!' # Mensagem ao jogador sair do servidor
# Configurações do chat
chat:
enabled: true # Define se o chat está ativado globalmente
worlds: # Especificar os mundos onde o chat será habilitado ou desabilitado
- "world" # Exemplo de mundo onde o chat está ativado
- "world_nether" # Exemplo de mundo onde o chat está desativado
- "world_the_end" # Outro mundo com chat ativo
# AVISO PARA QUEM ESTIVER USANDO ESTE PLUGIN A PARTE DE BAIXO ATE ADMIN-WHITELIST É APENAS PARA QUE O PLUGIN N DER ERRO NÃO REMOVER!
# Controle do formato de mensagens do chat
format:
global-prefix: '[G]' # Prefixo do chat global
local-prefix: '[L]' # Prefixo do chat local
mention-sound: ENTITY_EXPERIENCE_ORB_PICKUP # Som ao ser mencionado
# Outros detalhes relacionados ao chat
default: global # Modo de chat padrão se quiser usar isso depois por jogador
local-range: 100 # Distância máxima em blocos para o chat local funcionar
# ATE AQUI
# Controle de whitelist para administradores
admin-whitelist: false
From the server
prefix: '&6[BaconMC]&r' # Prefixo geral que você pode usar em outras mensagens
mensagens:
join: '&eBem-vindo, {player}!'
quit: '&e{player} saiu do servidor!'
admin-whitelist: false
chat:
default: global # Modo de chat padrão se quiser usar isso depois por jogador
local-range: 100 # Distância máxima em blocos para o chat local funcionar
format:
global-prefix: '[G]' # Prefixo do chat global
local-prefix: '[L]' # Prefixo do chat local
mention-sound: ENTITY_EXPERIENCE_ORB_PICKUP # Som ao ser mencionado
@drowsy helm
so you're saying it's not copying over the default config properly?
yes!
show your code
the fileof all my code~?
SnakeYAML supports some comments but I'm not sure Spigot will save random comment lines
if they're just copying over the default config, that shouldn't be a concern though
they are not though
just the relevant code
thats from a config.save()
package com.baconmc;
import net.luckperms.api.LuckPerms;
import net.luckperms.api.LuckPermsProvider;
import org.bukkit.plugin.java.JavaPlugin;
import com.baconmc.commands.*;
import com.baconmc.listeners.*;
import com.baconmc.managers.ChatToggleManager;
public class BaconMC extends JavaPlugin {
private LuckPerms luckPerms;
private ChatToggleManager chatToggleManager;
private boolean adminWhitelistEnabled = false;
@Override
public void onEnable() {
getLogger().info("BaconMC ativado!");
// Salva o config.yml padrão caso ele ainda não exista
saveDefaultConfig();
// Carrega o valor de admin-whitelist
this.adminWhitelistEnabled = getConfig().getBoolean("admin-whitelist", false);
// Inicializa o LuckPerms
this.luckPerms = LuckPermsProvider.get();
// Inicializa o ChatToggleManager
this.chatToggleManager = new ChatToggleManager();
// Registra comandos
getCommand("exemplo").setExecutor(new ExemploCommand());
getCommand("heal").setExecutor(new HealCommand());
getCommand("feed").setExecutor(new FeedCommand());
getCommand("day").setExecutor(new DayCommand());
getCommand("tpa").setExecutor(new TPAcommand());
getCommand("tpaaceitar").setExecutor(new TPAaceitarcommand());
getCommand("tpadeny").setExecutor(new TPAdenyCommand());
getCommand("adminwhitelist").setExecutor(new AdminWhitelistCommand(this));
// Usa o prefixo do config.yml
String prefixo = getConfig().getString("prefix", "&6[BaconMC]&r");
getCommand("adminchattoogle").setExecutor(new AdminChatToggleCommand(prefixo, chatToggleManager));
// Registra os listeners
getServer().getPluginManager().registerEvents(new PlayerListeners(), this);
getServer().getPluginManager().registerEvents(new ChatListener(), this);
getServer().getPluginManager().registerEvents(new ChatSystemListener(luckPerms, chatToggleManager), this);
getServer().getPluginManager().registerEvents(new AdminWhitelistListener(this), this);
}
@Override
public void onDisable() {
// Salva o estado da whitelist para o config.yml
getConfig().set("admin-whitelist", adminWhitelistEnabled);
saveConfig();
getLogger().info("BaconMC desativado!");
}
// Getter e setter para adminWhitelistEnabled
public boolean isAdminWhitelistEnabled() {
return adminWhitelistEnabled;
}
public void setAdminWhitelistEnabled(boolean enabled) {
this.adminWhitelistEnabled = enabled;
}
public LuckPerms getLuckPerms() {
return luckPerms;
}
public ChatToggleManager getChatToggleManager() {
return chatToggleManager;
}
}
``` the main.java
saveConfig() won't preserve non-inline comments when saving it seems
also, delete the config.yml on the server and retry/.
okay!
as saveDefaultConfig() will not overwrite an existing config
so if you lost the comments in a previous attempt, it will not replace them
Non-inline comments should work fine?
I believe section comments shoudl save, just not random ones
so i delete it?
I also feel like that code was written by AI, given the amount of comments (ironically)
every section comment was removed tho
yeah
odd. I can;t swear to it but I'm sure section comments are preserved, just not empty lines or random comments
i delete this saveConfig(); ? in the ondisable?
yep section shoudl also save
I'd check but waiting for a delivery so don;t have time
so what i make?
Shut down your server, delete teh server config, restart server
i already make that
you didn;t have time to do a shutdown/start
?whereami
here's spigot
John Paper
We finally found him!
Is that the legend
how do i make it so you can use a specific item, say throwable tnt in either your right or left hand BUT if you have a throwable tnt in your left and right hand then it will only use the one in your left hand
if that makes sense
You would only modify the stack in the left hand if I’m understanding that question correctly
yea legit check if the item exists in both hands and then handle it exclusively for ur left hand
i'll try ok
I don’t remember if #isSimilar takes into consideration stack amounts or not, could get away with an easy comparison if not tho
it doesnt
Makes that a bit easier then
how do i instantly explode an end crystal when placing it down
wait wtf i cant place an end crystal
how do i light up the area without light blocks
light blocks creates alot of problems like no water flow, no lava flow, no end crystals, it gets removed when placing blocks and so on
is there a stable hybrid spigot fork that allows me to have the normal plugins alongside just one mod?(timeless and classic)
"stable" and "hybrid" don't mix well
i know🤣
Make your own 🗿
its like a penguin trying to fly
just don't use hybrids
simple voice chat has spigot sided logic i wonder if its possible to do the same but with timeless and classic
then you dont have to have a hybrid server
its for spigot i guess but someone may help idk
but yeah its meant for spigot
maybe ask in #general
When a player dies, I spawn a custom mob as a cosmetic effect — the location can be very far from other players, anywhere in the world. I want to automatically remove that mob after a certain amount of time. I've tried every possible method, but I couldn't manage it.
The problem is: if the chunk is loaded (for example, if another player is nearby), the mob gets removed as expected. But if the player dies in a very remote area where no one is around, the chunk eventually unloads — and that mob stays there forever, like trash. Since the mob doesn't move, it's stuck in that location permanently.
Entity with setFreezeTicks(int ticks) works with 20L * duration? or does it have his custom math
because it doesnt support long
Perhaps you could try and search for nearby players or check if the chunk is loaded after the player dies, if not then don’t spawn the entity
When a player dies, does the chunk become empty?
can somone help me
Not completely sure, guess it depends on others who may be rendering the chunk, pretty sure there is a #isLoaded method in chunk
Add plugin ticket to the chunk. Remove it when the mob dies
Thanks. I'll try it right away
Huge thanks man, it’s working great now!
anyone here uses HikariCP?
found it
(durationInSeconds*2)*20L.toInt();
?ask
If you have a question, please just ask it. Don't look for staff or topic experts. Don't ask to ask or ask if people are awake or available. Just ask the question to the channel straight out, and wait patiently for a reply. Make sure you use the right channel regarding the topic of your question. Create a thread in case the channel is already in use!
I do why
this long conversion is pointless
if something doesn't accept a long doesn't mean it doesn't accept ticks lol
can somone help me
?ask
If you have a question, please just ask it. Don't look for staff or topic experts. Don't ask to ask or ask if people are awake or available. Just ask the question to the channel straight out, and wait patiently for a reply. Make sure you use the right channel regarding the topic of your question. Create a thread in case the channel is already in use!
talks there its so slow
well it's the relevant channel so go there, nobody's gonna help you here

how do i make a totem bag that activates totems inside it without you having to hold the totems
thank you for being an asshole about it
lmao what
yeah I was wondering if it's really that much difference between hikari and a default jdbc..
he was correct. he didn;t ask any questions
Hikari uses JDBC, but it is a connection pool manager, it can use and reuse connections to make your db calls faster
What is the correct usage of the transfer packet?
the correct usage is to use the api
🙄
well idk if it supposed to be send in the config state or if i can be sent in the play state because when i try send it in play state the client doesnt respond even though it receives it
You can definitely send it during the play state
i wonder why the client isnt responding to it then
the client does receive it just doesnt do anything with it
is the target server reachable? does it accept transfers?
yes both
client version?
is the server behind a proxy?
got any client mods?
any warnings or errors in the client logs?
you can change the log level with a custom log4j2.xml and pointing to it with the log4j system property
works plenty fine for me although on a vanilla client
could you share your code?
just calling the transfer method in a command
my client is fabric but i dont think that would create an issue
do i need to handle cookies?
send the packets for them
im looking at proxy that uses transfer packets and they do so im just asking
i mean, you can if you want to or if they are of any use to you, but the client doesn't do anything with cookies other than store them to send back to the server when requested
how can i run a task while a player is holding down right click?
The player will send an interaction every ~50 milliseconds
genuinely stumped how it works fine for you
So I guess you could just keep running the task until you stop receiving interactions
ye
KeepAliveS2CPacket [00:00:01.075]
p id = 0
ServerTransferS2CPacket [00:00:01.300]
p host = "(redaced)"
p port = 25500
this is the correct usage right
(logged from what client receives)
https://i.imgur.com/slZQ5Py.png ¯_(ツ)_/¯
OMGZ u leaked ur ip
dw, i use protection like my mum always told me to
atp just can u just send the code of the command
omw to ddos 127.0.0.1 🧌
that's the vanilla transfer command, but it's literally no different than calling Player#transfer(host, port)
It’s a shame servers have to explicitly enable transfers
I can’t just send players I don’t like to hypixel
😭 🙏🏼
wtf
you should actually try with a vanilla client
how am i failing so badly then
just did and it didnt work
¯_(ツ)_/¯
what server version are you using
1.21.4 servers + client
my client doesnt even resolve /transfer
can anyone help me with this?
your Plugin cannot be null
how can i change a player's yaw without teleporting them?
hmm ok lemme reword this sorry
send a entity head rotation packet
Could someone help me with this UnsupportedOrperationException please? https://paste.md-5.net/falusiveni.cs
So basically there is a list getCandidates(election) with a bunch of OfflinePlayers which are all have a certain number of votes. This can be found out with getVotes(election, candidate). They're being sorted by their amount of votes and put in that order into a new list sortedCandidates()
Then for each day passed since the election I remove the player at the top of the list, so the player with the most votes. The days that passed can be found out with daysAgo(election)
Easy: don't use immutable collection
Do you have a suggestion what I should use instead?
A mutable collection, ArrayList would suffice
You can probably do new ArrayList<>(getCandidates(election).stream().sorted((a, b) -> Integer.compare(getVotes(election, b), getVotes(election, a))).toList());
there may be better way, im lazy
O: Thanks so much
Is calling Player#setPlayerListName() incompatible with the vanilla command /team?
I have a plugin which does that and someone is saying my plugin breaks his team prefixes.
hey guys how can I make custom entity that's a stationary archer
which goals allow for shooting bow and arrow 😭
Dere it’s been months and you still ask for help with every goal you create, at this rate you better list every spigot member as an author in your plugin.yml
For arrow goal: https://mappings.dev/1.21.5/net/minecraft/world/entity/ai/goal/RangedAttackGoal.html
As for stationary you can either set their default speed attribute to 0 or remove their pathfinding goals when you spawn them
version: 1.21.5, hash: 570077a853
LOL
no I already did that ye
I just like asking questions for funsies idt there's anything that warrants such a reply right? @sonic goblet
but damn that took me out of my day 😭 no need to call me out like that
I just want to see you spread your wings and fly on your own, but everyday I look in here and you’re still in the nest looking for your next meal of NMS goals 😭
uh huh
well just to assure you
if you haven't noticed from my code snippets I've been sending, yes I've actually figured shit out
something which if you're gonna call me out for my past questions, no matter how stupid, you should have caught on
and honestly I don't think there's a harm in my questions because if some future guy wants to come here and do a Ctrl f for whatever targeting functionality I asked about, they can find answers
so that's my train of thought
and I do apologize for getting heated but like I do feel you were kind of rude with that slight @sonic goblet
Hello, how can I hide players names ? I want the players names to be hidden/censored (but I prefer if it can be hidden) in TAB and above their head
for tab, #setPlayerListName
tablist name is a single Component, so if you override it you also have to take care of prefix and suffix
for name tags, you'll need to use text displays
what about scoreboard with hidden name visibility ?
you'd have to use teams for nametag visibility
I've made this : https://paste.md-5.net/hekayatavu.java
where do you call this?
@EventHandler
public void onPlayerJoin(PlayerJoinEvent event) {
...
```basically
that should work but it'll conflict with other plugins which use teams most likely
make your team a uuid 😭
you're also using the main scoreboard which you shouldn't
players can't have multiple teams ?
why ?
okay
they can't not, you're right. Hence why it'll conflict whenever other plugin tries to add the player to their team
because that scoreboard persists its data, meaning its effects would persist even after you remove the plugin
Just make your own teams system
but actually it's a good reason ig
I'm not sure how optimal it'd be but you could just store that and the chance of it conflicting is low
oh I see thanks
so that I would be able to have multiple teams ?
I don’t like vanilla teams or the api that comes with just my opinion
That’s not to say you can’t emulate the same things vanilla teams can do, ie: scoreboard display to a specific team
I hate the teams system
yeah I guess you could just map player UUID to their teams using your custom system @cinder abyss
I also hate how a player can't be on several teams at once
it just.. makes things more complicated
humm and what about hiding their name then ?
Vanilla teams work… but you can just as easily support what the api provides as well as additional features because it’s your own object
this is how you ultimately want ot do it if you want to make sure to not mess up whatever other plugins might be doing with it
public void addPlayer(Player player) {
var scoreboard = player.getScoreboard();
if (scoreboard == Bukkit.getScoreboardManager().getMainScoreboard()) {
scoreboard = Bukkit.getScoreboardManager().getNewScoreboard();
player.setScoreboard(scoreboard);
}
var team = scoreboard.getPlayerTeam(player);
if (team == null) {
team = scoreobard.registerNewTeam(player.getUniqueId());
team.addEntry(player.getName());
}
team.setNametagVisibility(NametagVisibility.NEVER);
}
my main concern is i don't understand why things like glow color and name tag visibility are not independent of teams
it doesnt make sense for them to be linked together and the only way
you should at least be able to do them on their own
rather than having to create a fake team and get into a mess with figuring out compatability...
I mean, people overcomplicate teams too much, only thing you have to do is use an existing team if it exists and change the properties you need
in most cases it won't conflict
I try my absolute hardest to not depend on the api where possible so I usually just make my own internal system that can do what the api provides + whatever I want extra
using packets for what is essentially the same behavior ends up being messy
why would you do that lol
that's like programming in Java while only using JNI
completely unmaintainable
Go fuck around with the conversation api honestly that’s what made me start
Conversation API has been broken for ages now, I didn't think nobody wanted to use it at this point
even more so considering chat messages are a mess to use as a conversation system nowadays, it used to be easier before messages were signed and all that
Obviously you make a spigot plugin and you’re using the spigot api, some bits are awful to work with tho so I just make my own impl
I think it's nice to go by a case by case basis
can't generalize one paradigm to every library
to be fair, the conversation API should just be deprecated at this point, nobody cares about maintaining it properly
mostly because it's a remant of the bukkit days
Conversations, teams, scoreboards, name tags, etc I have done my own impls for
its always the best if you do everything yourself..
doing your own impl for teams/scoreboards is silly, the API isn't missing anything in regards to that
I mean scoreboards not really, I still use the api for them
okay interesting, thanks
Maybe I like to make things harder but for the purpose of my teams in the current project it’s just easier to manage internally
Wellllll, the api is missing options to set the number formatting
too bad Choco gave up on their PR
it looked very promising, don't even know what was stopping it at that point besides some comments around plugin compatibility with the old vs the new methods
Only reason I’d be using vanilla teams is to group people together, beyond that I don’t have a use for them… perhaps it’s because of the mini game itself but I still find in a lot of cases my own objects are better for my use case
I guess it just depends what you need from the api vs what you could do yourself
If you wanna completely hide them sure
hum, it does nothing
also, I truncated player uuid because the limit of chars for team is 16
Cute flowers
ah, I forgot, you have to add all players to the team, not just one
well, all players which you don't want the nametag to be seen
I'm adding them on join
Don’t they all need to be using the same scoreboard
yes
Well you are creating a new scoreboard for each player with that code
yes I am rewriting what I initially wrote lol
Is it possible to make one player glow red and another glow blue for a specific player?
Like would modifying the the red player and blue player scoreboard and adding the current watcher to their scoreboard work?
if I want to have multiple worlds on my server should i just go straight to the Multiverse Core plugin or can I do it feasibly by coding it?
would it not work if I just put multiple worlds into the server folder and then used Bukkit#getWorld("name") to move players between them (when activated via custom end portal)
I need 2 overworlds and 1 End on my server (nether disabled)
I'm honestly not too sure about how world files/folders even work
new WorldCreator("worldname").createWorld()
and then yes getWorld etc to move
multiverse probably easier unless your worlds are really basic
Is there any way to have his own totem? With animation etc.?
What are you asking?
The totem animation how could i send it?
declaration: package: org.bukkit, enum: EntityEffect
Undeclared identifier playEffect
Cannot apply operator + to operands playEffect and TOTEM_RESURRECT
hm that might make an interesting concept for a functional language actually
thanks for the idea, I'll make sure to not credit you
I was thinking more so Player + playEffect + player + TOTEM_RESURRECT
this is just Haskell all over
the first part is funky
idk
sounds more like Erlang to me
it's all the same
And if u want a specific item to show up?
runs
I've only ever played around with it, it's a pretty cool language for language nerds
The item held in hand has to have the resurrection component (I forget what it's called)
Man they added a component for almost everything
death protection I think was it
And yet no component to make an item act as a fire source
Like flint and steel or fire charges
I wouldn't be surprised if they add one for that sooner or later, given almost every item action has become a component now
How about one for using the item on the surface of water, like lily pads and boats
Or one for deleting system32
now that I am looking at the FlintAndSteelItem and FireChargeItem, they have almost identical code for Item#useOn lol
yeah but flint and steel was mentioned by the steve in the movie
hey fellas
is there a cleaner way to cancel a BlockExplodeEvent just if a dragon egg is one of the blocks, or do I have to loop through all the exploded blocks to check?
because i think the current method im using is pretty inefficient
worst case O(n)
O(n) isn't a measurement of efficiency, it is a measurement of time complexity
with that in mind, O(n) isn't necessarily slow, it all depends on the scale of n and for explosions I doubt it'd be an issue
oh I replied to this thread
how could it possibly be made more efficient
there's no sub-O(n) way to check if n items are dragon eggs lol
if we limit explosions to constant N blocks then worst case complexity is O(1) 😄
ah i was thinking maybe there was an event for when a block breaks but it's due to explosion
or maybe the block break event already covers that?
good idea, is N = 0 a good start?
does RangedAttackGoal use ticks for timings?
no idea but most of MC is ticks
oops wrong image
@Override
public boolean canContinueToUse() {
LivingEntity target = archer.getTarget();
if (target == null || !(target instanceof Player player)) {
return false;
}
Kingdom playerKingdom = kingdomManager.getPlayerKingdom(player.getUUID());
UUID playerKingdomID = (playerKingdom != null) ? playerKingdom.getID() : null;
return !player.isCreative() && !player.isSpectator() && (playerKingdomID == null || !kingdomID.equals(playerKingdomID));
}
is overriding canContinueToUse necessary for ranged attack targeting?
is it necessary? No, for all the server cares you could put all your logic in the tick method
should you use it? Well that's a harder question to answer, but probably should since it's there
hmm ok
im trying to debug why the skeleton keeps locking onto players even on gamemode changes and thought checking for those here would help
but no
what do you mean by locking, as in the goal never stops running? Or that it doesn't try to attack other players even when out of range?
mob targets same player it initially set as target upon player changing to creative/spectator, keeps firing arrows too
range is fine
stays confined to set targeting box
are you extending/using an existing goal or did you make your own?
extending Goal
will try setting target to null upon loss of current target
maybe that will help
did you extend the RangedBowAttackGoal and override its canContinueUse method?
oh i just extended the default Goal class
ohh ok
i set both in the entity itself, that's what i meant
this.goalSelector.addGoal(1, new RangedAttackGoal(this, 1.0, 40, 60, 32.0f));
this.targetSelector.addGoal(1, new ShootNonFactionPlayersGoal(this, kingdomID));
oops
I mean, the RangedAttackGoal depends on NearestAttackableTargetGoal to find a target, so that isn't a bad way to do it
though that being the case, your goal could just be a TargetingConditions.Selector
How do I get resources taken down/who is the guy I talk to.
I got a lot of people copying or reselling/recreating my private plugin and passing at as if I am working with them and its a official version, some of them even create premium versions on external sites and earn a profit from my creation and concepts.
https://www.spigotmc.org/resources/bliss-smp-enhanced.119034/
https://www.spigotmc.org/resources/bliss-smp-plugin-spigot-paper.113775/
you just report them
of course, you'll have to add something that can verify you're in fact the author in the report
from what I can see though one is a skript and the other is a plugin, and just recreating an existing plugin is completely valid
just like there's a hundred Essentials clones, it really isn't something you can control
oh wait, are you the one who made the bliss smp? If so then you're pretty much out of luck, you can't stop people from copying your server lol
if you are feel really strongly about it, you can trademark bliss smp and legally bully them that way but that costs money
is there a fully free API for global weather forecasts?
like one i dont need to sign up for
im just too lazy to register for OpenWeatherMap
and Weather.gov only covers USA
its free plan is pretty much the best you can get afaik
used it when I was making a weather app
.
iirc weather.gov doesnt have global info
at least not since the last time i tried it
web scraping
just use openweathermap...
it should
since you can look at world weather info
you might have to use long/lat for the locations
or if you know a particular station id that would have the weather you are looking for you can query the data from that specific station
this is what failed for me last time i tried i believe
yeah, lat/long for london off of google maps fails
but lat/long for my current NJ location off google maps works
the endpoint you used is not valid
Currently available Web Services from Climate Data Online (CDO).
https://www.weather.gov/documentation/services-web-api#/default/point i was using this endpoint
might have to use the location endpoint instead
from what I can tell they do provide forecast information for other countries via their api
now i cant get any data 💀
anyone know if its possible to make mobs that cant usually fly, fly?
sure its possible
omg the goat responded to me O_O
i guess it would be
are pathfinders still the sauce or should i use brains
idk depends on the mob
probs a breeze
depends whatever they use in vanilla
ill have to take a look
i didnt see anything remotely looking like flying but they do leap
those little flying things when u dont sleep for a few days in a row
Phantoms
you mean the sleep paralysis demons
how do I write like \uF000
into json and not have it escape it?
and not convert it into a char?
just a literal
apache StringUtils#unescapeJava
u can put another \ at the beginning
is apache built with spigot?
not sure
gson escapes it into \\
actually apache text utils isn't
oh wait r u going from json -> java or java -> json
https://github.com/apache/commons-lang/blob/master/src/main/java/org/apache/commons/lang3/StringUtils.java doesn't exist
because you're looking at commons-lang, not lang-text or whatever the submodule is called
THATS NOT A YES OR NO QUESTION
so you're doing both? Lol
StringEscapeUtils sorry
all of the above
😭
I'll begin answering multiple choice exams just with yes and see how it goes
good idea
didn't see the or
btw winn I vibe-coded a weather.gov api client in java and it worked just fine
😭
either way
I only vibe-code things I don't care about
same for AI art, if I don't care about it then I just hit the proompt button
no yeah weather.gov works i just cant get results for anywhere that isnt a US territory
it's just way faster when you're just trying to satisfy your curiosity, even more so when now we have editors which generate the whole thing at once lol
why tho when you can just make it yourself
does someone have a MaxMind account i can download the geoip lite db from ❤️
(im too lazy to register for maxmind)
it generated like 8 records, two adapters and a whole ahh API client when I just feed it the whole documentation, I am not trying to make a weather app, I was just trying to see if it worked lol
just use retrofit
Did it actually work tho
the searchLocations method doesn't work but the rest does, I now just have to find the location id for a foreign city to test it
I'm trying to create a resource pack and replace PUA characters with bitmaps
but like
it works normally (when in a folder)
and breaks when in .zip
...why
mc literally just "cannot find glyph character"
How are you zipping it
well you see
like this
and just sending it directly to the client
(yes, I mean a download)
hmmm
is that
uh
the problem
I forget exactly what the reasoning was but when I used javas built in zip function thingo it didnt work with mc, I had to use a 3rd party lib
Same lol
https://github.com/zeroturnaround/zt-zip I used this one
If I remember correctly it was placing the directory into another sub directory so
Resourcepack would be
Resourcepack.zip-> resourcepack (dir)-> contents
One of those niche issues with a library that you cant find any answers for online
declaration: package: org.bukkit, enum: Effect
declaration: package: org.bukkit, enum: Particle
not all effects are particles
in fact looking at the classes, effect seems to have primarily sounds
and particle represents a single particle
Yeah, it looks like its a combo of Sounds/Particles?
But whats the difference between the ANVIL_BREAK effect and the BLOCK_ANVIL_BREAK Sound?
But some of them are just sounds?
Is this just a weird legacy thing?
but I guess its in case that they somehow expand the anvil break effect
like if they add particles to it or smth
the idea is that effects are created with sounds and particles, so you actually play the effects
ig, yeah
Anyone understand the jobs reborn plugin. Struggling to change the colour of something with the code as codes not anywhere, when imputed it vanishes once reloaded.
https://hub.spigotmc.org/javadocs/spigot/org/bukkit/PortalType.html#CUSTOM
How do I use a custom portal type?
declaration: package: org.bukkit, enum: PortalType
jree fava
why do you need it
Just saw it on the docs and got interested in it
ignore it
Is there any way to handle this in spigot world generation itself?
Okay
Without using datapacks
u want to generate the world yourself? yes you can
Yea I want to generate worlds with terrain like its working with datapacks just with spigot itself how is that working?
can you use asynchronous code to return completions? or are tab completions synchronous
if its synchronous.. then how am i supposed to retrieve values from the db? make my request synchronous and block the main thread?
Tab complete can be async using nms or command library.
You can load data when https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/player/AsyncPlayerPreLoginEvent.html fires
I can't cache stuff
tab completions need to be updated every time the player fires the event
what are you loading specifically
Hi, do you know how to post on Spigot?
by making an account? Lol
thanks
you can make worlds with WorldCreator, however it doesn't provide you with terrain generation settings, at least not in the same fashion as datapacks
a few strings
that doesn't answer anything
Hmm I see but thanks for the help
i figured it out anyways
if you are using a command framework which hooks into brigadier, brigadier suggestions are asynchronous anyway
anyone know how to make a custom damage source? i want to cancel an NMS serverHurt and handle the damaging myself, i might just re-use falling out of world since its soemthing that wont ever occur
not sure how to use hitMob.damage(event.getDamage());
or rather hitMob.damage(event.getDamage(), <customdamagesource>);
is there a need for a custom damage source for that
you could just cancel the entity damage event
i guess, but i dont really waent to add it to a list or something
can you check if bukkit entities are instances of NMS entities?
bukkit entities are instances of CraftEntity(s) which are wrapper around NMS entities, you can get the NMS entity by calling getHandle on most of them
but I honestly don't know why you wouldn't just use the API for this, it purposefully makes your plugin incompatible with newer versions lol
sec
um, i guess its moreso that i want only player hits to deal damage, and everyhting else i dont want
and i have multiple NMS entities
you can do this part with the API just fine
why NMS entities?
I feel like you went into a rabbit hole for no reason
i dont rly know how to use brains
ok
how would u go about it?
i'd have to check every NMS entity i have and see if the craftentity is an instance of it
right
just add a pdc tag to each entity
that works, yeah
PersistentDataContainer
its just a bukkit wrapper around tags
you add it to your entity when you spawn it
issue i can see though is
if i have entitydamagebyentityevent (what i want to happen) and entitydamageevent (where im cancelling it all)
the entity.damage() from my custom event which i will call will be negated becuse of entitydamageevent
unless anyone knows a workaround
or actually, is calling entity.damage(1) is that damagecause custom?
pretty sure entity.damage(... does not throw any events
did anybody know how to build this kind of source code? or i need to fix it first? i want to try build https://github.com/Ajneb97/MineChess
put it in the bin and write your own
He’d probably just want to sethealth though
I'm kinda surprised they could compile across all those versions without maven.
Probably an incomplete project upload but :p
Oh my god...
Kill me now
vcs2 was right
burn this shit and start from scratch
oh my
abstraction in shambles
nobody
?services
If you wish to request or offer development/art/building/administration services, please do so at https://www.spigotmc.org/forums/services-recruitment-v2.54/
someone can help me with my dependencies of 1.21.3?
i tested some dependencies but it doesn't worked
What dependencies?
Also
?img
Can't send images? That's because you're not verified! Use !verify to complete verification.
Alternatively, you can upload screenshots to any image hosting site and share the link.
Here's some screenshot utilities that you can use to upload images.
Lightshot: https://prnt.sc
Imgur: https://imgur.com/upload
Flameshot: https://flameshot.org
Did you run BuildTools?
no, i'm still learning this
i'm seeing now the build tools, but i don't understand
Ah, well if you want to use Spigot as a dependency, you need to run BuildTools in order to get the source code.
The reason for this is legal bs from years ago.
But once you run it for the version you want to develop against, all you need to do is reload your pom and you'll be good to go.
would you make this for me? i send you the code with me link
anyone....
You're so close though. You just need to run BT.
?bt
There is also a GUI for it if you don't want to use the command line.
Ok, i will try, thx
If i have a problem, i can send a dm for you?
I don't typically do dms, but feel free to @ me here.
alr, thx anyway
by the way, I am brazilian, it's a pleasure
Gonna need some more info on this.
I am trying to change the colours for
----<< Prev 1/10 Next >>----
However, in all the other lanauge ymls they have the below i have tried editting the english yml to incldue this however it still refuses to change the colours and in fact actually deletes the stuff below when converted to english. Anyone know how to fix this?
prevPage: '&2----<< &6Zurück '
prevPageOff: '&7----<< Zurück '
nextPage: '&6 Nächste Seite &2>>----'
nextPageOff: '&7 Nächste Seite >>----'
pageCount: '&2[current]/[total]'
pageCountHover: '&e[totalEntries] Einträge'
prevPageGui: '&6Vorherige Seite '
nextPageGui: '&6Nächste Seite'
I cannot find the nextpage bit etc in the correct yml, its only in the other languages .yml
In the en yml
help:
output:
cmdUsage: '&2Usage: &7[command]'
label: Jobs
cmdInfoFormat: '[command] &f- &2[description]'
cmdFormat: '&7/[command] &f[arguments]'
helpPageDescription: '&2* [description]'
title: '&e-------&e ======= &6Jobs &e======= &e-------'
boost:
help:
info: Boosts jobs gains for all players
args: exp/money/points [jobname]/all/reset [rate] [time]
output:
allreset: '&aAll boosts turned off'
alltypereset: '&aAll &e%type% &aboosts turned off'
jobsboostreset: '&aBoost of &e%boost% &aadded for &e%jobname%!'
jobstypeboostreset: '&aBoost of &e%boost% &aadded for &e%jobname%!'
nothingtoreset: Nothing to reset
boostadded: '&aBoost of &e%boost% &aadded for &e%jobname%!'
infostats: '&c-----> &a%type% rate x%boost% enabled&c <-------'
boostStats: '&6%payments% &e%jobname%'```
In the other languages yml
```command:
help:
output:
info: Schreibe /jobs [cmd] ? um mehr infos über einen Befehl zu bekommen.
cmdUsage: '&2Verwende: &7[command]'
label: Jobs
cmdInfoFormat: '[command] &f- &2[description]'
cmdFormat: '&7/[command] &f[arguments]'
helpPageDescription: '&2* [description]'
title: '&e-------&e ======= &6Berufe &e======= &e-------'
page: '&e-----&e ====== Seite &6[1] &evon &6[2] &e====== &e-----'
fliperSimbols: '&e----------'
prevPage: '&2----<< &6Zurück '
prevPageOff: '&7----<< Zurück '
nextPage: '&6 Nächste Seite &2>>----'
nextPageOff: '&7 Nächste Seite >>----'
pageCount: '&2[current]/[total]'
pageCountHover: '&e[totalEntries] Einträge'
prevPageGui: '&6Vorherige Seite '
nextPageGui: '&6Nächste Seite'
moneyboost:
help:
info: Der Geldbonus für alle Spieler wird erhöht.
args: '[jobname]/all/reset [time]/[rate]'
output:
allreset: Alle Geld-Boni sind ausgeschaltet
jobsboostreset: Der Geld-Bonus für %jobname% wurde ausgeschaltet.
nothingtoreset: Es gibt nichts zum Zurücksetzen.
boostalladded: Ein Geld-Bonus um %boost% wurde für alle Jobs hinzugefügt!
boostadded: Es wurde ein Geld-Bonus um &e%boost% &afür &e%jobname% hinzugefügt!
infostats: '&c-----> &aGeldboost x%boost% eingeschaltet!&c <-------'```
Everytime i put it in the en folder, i reload the plugin and it just deletes it, ive tried deleting and restarting the server which makes a new yml with the same problem.
doesn't really sound like a help dev issue, but try stopping the server and editing the file while the server is offline
some plugins (over)write configs on disable/shutdown
Thank you, Im just stuck and Im not sure where the best place to get help is! I will try this
And, I found why it won't work as expected.
YamlConfiguration#copyDefaults() will override the entire file. Doesn't matter if you do it when the server is offline or not.
I have no idea why they decided to hard code the en language file into it, but it's dumb af if you ask me.
Where exactly would I find this to stop it from overriding the file?
Problem is you can't. It's coded into the plugin.
They only way to fix this is for the developer to update it, or for you to fork it and update it yourself.
You'd either have to add the missing config sections, which would arguably be easiest, or adjust the system to treat the en language file like every other language file.
@kind hatch i'm having troubles on installing buildtools
i already asked for chatgpt, i readed spigot wiki thousand times
What about it?
You know what's funny? It doesn't even work if you switch languages either.
The values in the language files aren't even used.
@light sinew .
i was using Java 16, and i switched to java 24
Are you still having problems with it?
I tried to run BuildTools now, but i don't know if it is taking a long time to open or it is not opening
?img
Can't send images? That's because you're not verified! Use !verify to complete verification.
Alternatively, you can upload screenshots to any image hosting site and share the link.
Here's some screenshot utilities that you can use to upload images.
Lightshot: https://prnt.sc
Imgur: https://imgur.com/upload
Flameshot: https://flameshot.org
?
Use one of those links to post pictures.
Are you using the GUI or the command line to run BT?
GUI
It should open fairly quickly.
If it already is open and is all greyed out, close it and launch it again.
I just read somewhere on the forums that the max resource size is about 6MB? I am currently using a DI framework (Guice) which takes up about that much on it's own. Can anyone confirm the actual file size limit?
It's 4MB IIRC
I think it used to be 3MB at one point
Download Guice with the library downloader or if you want to support older versions there are 3rd party libs that can help download it at runtime
I know there is the libraries thing
you can also use a DI framework that isn't that big
It has nothing to do with the one I choose, Guice is just a well known framework
And 4MB is not much
ok and?
So I wouldn't consider the library the issue
oorah oorah muh DI
I guess self-hosting is the only remaining option
you can also just use proguard to minimise (make sure to turn off obfuscation though)
into the 🚮
Hm? Why
What's wrong with grabbing it from Central
I know there is a way to let the libraries feature of the plugin.yml download it at runtime
it's against tos?
But I also heard or read somewhere it causes issues when 2 plugins are dependent on the same library
It is?
es
is it?
???
Against which tos? Maven Central or Spigot?
If it's against TOS, then why is it there?
central
forge had the same situation long ago, and they got a C&D, but they also covered clients so it was a much bigger deal
i'm fairly sure i have like 20+ libraries being loaded from central via the library system 🤡
oh well
If this works, then I use this
I just remember that there was a shading issue with spigot itself causing it to conflict when multiple plugins depend on the same library
maybe that's solved now
same I got like 30 though
That's still a problem when you shade