#help-archived

1 messages ยท Page 109 of 1

sturdy oar
#

how did you get that data

#

a plugin?

odd knoll
#

Statistic plugin

worn temple
#

statistic plugin

odd knoll
#

And holy, that's big.

sturdy oar
#

I'll install and try how it looks on mine!

worn temple
sturdy oar
#

whoever doesn't have Nyan Progress Bar is not a real dev

#

NovaFox161

#

how did you open the statistic page from that plugin

#

I'm not finding it )=

worn temple
#

View > Tool Windows > Statistic

sturdy oar
#

yo this plugin is cool

#

is says something like 2920 lines of Java

#

?paste

worldly heathBOT
marble scarab
#

Which program do you recommend if I am learning, IntelliJ IDEA, NetBeans or Eclipse?

odd knoll
#

Caused by: java.lang.IllegalArgumentException: Plugin cannot be null

sturdy oar
#

dude

#

don't listen to him

odd knoll
#

Ok, 1) Not NetBeans. It's outdated and insecure.

sturdy oar
#

Wait I use NetBeans lmao

#

for school

odd knoll
#
  1. If you want features, expandability and integration, IntelliJ.
sturdy oar
#

I mean if you know how to do stuff any of those 3 is fine

#

but if you're lazy

#

get IntelliJ IDEA

marble scarab
#

I was planning to try IntelliJ DEA, it seems more comfortable

odd knoll
#

IntelliJ makes my life so much easier with Gradle.

frigid ember
odd knoll
#

And Git

frigid ember
#

I reccomend Eclipse

#

Sorry, I got another error with superlobby :P

sturdy oar
#

Why would someone recommend eclipse

worn temple
#

IntelliJ is just better. Eclipse, netbeans, bluJ are all terrible

odd knoll
#

@frigid ember does your IDE not tell you you must input the plugin lol?

sturdy oar
#

NovaFox161 NetBeans is actually better than Eclipse, and I say that because I've used it for 2 years now

odd knoll
#

Well, there's a reason not to use Eclipse.

worn temple
#

@sturdy oar Never said it was better/worse than eclipse. Just that IJ is better than all 3 of those

odd knoll
#

or

#

Those are the two ways you can do it DKLMapper.

sturdy oar
#

whyy

#

why would you create a new instance

#

just use lambda

odd knoll
#

I don't.

#

But other people do.

#

And that's the way they were already doing it.

sturdy oar
#

๐Ÿคทโ€โ™‚๏ธ dumb way tbh

worn temple
#

Because so many people making spigot plugins still compile on J7 for some damn reason

odd knoll
#

Still shocked Eclipse didn't tell you you were missing values.

#

IntelliJ wouldn't let you compile with that.

sturdy oar
#

I have to stick with Java8 because people just won't update

worn temple
#

I mean, I just force the use of modern java. The server supports j8+, so you can even run it all the way on j14.

subtle blade
#

IntelliJ is just better. Eclipse, netbeans, bluJ are all terrible
I too like opinions

odd knoll
#

According to your code.

sturdy oar
#

Yeah but you can't compile with Java 14 features or no one will ever download your plugins

odd knoll
#

You never set plugin.

#

You just did Main plugin, never actually setting it.

#

plugin is null.

#

You never set it.

#

That doesn't set it.

#

Well, you need to get the plugin.

#

So pass it in with the class' constructor.

#
public ClassName(Main plugin) {
    this.plugin = plugin
}```
#

And you can also make the plugin variable in that class private and final.

#

private final Main plugin;

hoary idol
#

Hey if anyone in here is familiar with how Multi Proxy Bungeecord setups work, please DM me, I have a few questions to ask.

odd knoll
#

I'll answer it here, but I keep my DMs closed TheRealMrWicked.

hoary idol
odd knoll
#

Yes, but I recommend doing some cleaning up.

tiny pebble
#

How would I go about having my commands be like:

/c test
/c test1
/c test2
odd knoll
#

@hoary idol you just create two bungees and configure them with the same Spigot sub server

hoary idol
#

have one domain name link to 2 servers

tiny pebble
#

Instead of:

/test
/test1
/test2
hoary idol
#

ik that roller

bronze marten
#

I dont think u can link a spigot to 2 bungees

hoary idol
#

but the domain thing

odd knoll
#

You can then either use a DNS level software service to distribute them between the two servers or you can use wild card DNS.

hoary idol
#

ah ok

odd knoll
#

WildCard DNS is the easiest

hoary idol
#

yeh ok namecheap can help with that

#

thanks then

odd knoll
#

So you just add two IPs under the same record, for instance, two IPs under play as an A record.

worn temple
#

Just use cloudflare for DNS

#

faster

#

and more secure

odd knoll
#

There will be a 50/50 chance of them getting either of the IPs.

bronze marten
#

round robin dns

hoary idol
#

@worn temple shhhh i will switch sometime

odd knoll
#

Oh yh, round robin.Not wild card.

bronze marten
#

poor man's load balancer

worn temple
#

@hoary idol its free... and easy

odd knoll
#

It means there's no load balancer element, but it's cheap.

#

You could still end up with 200 people on one proxy and 50 on the other.

hoary idol
#

lol

bronze marten
#

random chance of being assigned to an ip

#

ยฏ_(ใƒ„)_/ยฏ

odd knoll
#

@tiny pebble you create one command then use the arguments String array list that is passed in. You can then just use if statements or a switch to match it (after of course checking args length)

tiny pebble
#

ah got it, thanks

hoary idol
#

so literally you want me to create 2 A records both with the same prefix (play for eg) pointing to 2 different ip's

bronze marten
#

yes

odd knoll
#

That'd be round robin DNS yh.

#

Cheap, easy way.

hoary idol
#

ah ok

#

thx man

#

so to load balance it is much more complex

odd knoll
#

Generally yh.

bronze marten
#

yeah you'd need to take tps, players, etc all in consideration

odd knoll
#

Yep.

hoary idol
#

ah ok im not for that rn

bronze marten
#

quite expensive to do as well for just jining

odd knoll
#

Or more just, any data you want to affect how many people.

#

Probably cheaper to just spin up another 5 proxies.

worn temple
#

Yeah, its why servers like hypixel don't even use a known fork of bungee or spigot.

hoary idol
#

or another question

odd knoll
#

Bear in mind player count won't sync.

bronze marten
#

use redis for that

worn temple
#

@odd knoll Unless you have a bungee plugin that fixes that. There's a bungeeRedis plugin that allows for that

odd knoll
#

^^

bronze marten
#

and make your own playercount thingee

hoary idol
#

yes i have reddis bungee already setup

odd knoll
#

Nice.

hoary idol
#

redis server in a vps

worn temple
#

Its a premium plugin I think, I bought it, kinda regret it because it was broken.

hoary idol
#

if proxy 1 is brought down all players on that proxy will get kicked but the other proxy will be unaffected

worn temple
#

Should have just made my own lol

odd knoll
#

Yep. And lol.

hoary idol
#

correct?

odd knoll
#

As long as the issue is specifically related to that proxy instance.

#

You could still have the machine crash (unlikely).

hoary idol
#

yeh well i mean if i manually bring it down

#

like /end

odd knoll
#

Yep.

#

Another thing with round robin dns.

#

It doesn't take into account offline servers. If one of the proxies is offline, it may still give them that IP to connect to.

#

because you require to pass in the class in the constructor and you don't.

#

new SpawnCommand(this)

bronze marten
hoary idol
#

so they could try to join the offline proxy and just see the offline screen

odd knoll
#

Yep.

hoary idol
#

lol

odd knoll
#

So you'd have to make sure all of them are online.

#

Although, there would be a chance they get given an online one.

hoary idol
#

50/50

bronze marten
#

meh its not random random

#

pseudorandom?

hoary idol
#

lol

#

yes

#

ofc

#

๐Ÿ˜†

#

well thanks for the help guys

worn temple
#

That's what happens with round robin. If you use a proper load balancer, it will see the offline instances and make sure players are always sent to an online instance.

hoary idol
#

wait so where do yall learn about this stuff

#

there is like 0 documentation online

bronze marten
#

basic compsci

worn temple
#

google

hoary idol
#

@bronze marten ...

worn temple
#

I'm 100% self taught

bronze marten
#

not true u learned from others

#

@bronze marten ...
@hoary idol no fr xd but theres no documentation for it, its a broad subject so u just have to see a lot of things and relate them

#

like theres a tutorial for specific things

hoary idol
#

yeh

#

dam

odd knoll
#

I just messed around for ages.

bronze marten
#

but not for how to set up a minecraft server with round robin dns, exactly 5 bungee servers, 50 plugins etc

odd knoll
#

Read small articles.

#

I need to read up on load balancers and stuff tho.

hoary idol
#

when i learn i will make a full post

bronze marten
#

train in your google skill i'd say xd

hoary idol
#

like to help people

worn temple
#

train your google fu

bronze marten
#

most helpful, know where to find stuff xd

frigid ember
#

Kung google fu

hoary idol
#

like i dont plan to use load balancing multi bungeecord setup

#

but i wanna know how it is done

worn temple
#

magic /s

hoary idol
#

like this is finna be alot of work

#

imma die

bronze marten
#

i mean its not easy xd

#

once u have done it its ez

hoary idol
#

the real question, How much time do i want to waste?

bronze marten
#

nothing is wasted

#

smh

hoary idol
#

... you know what i mean

bronze marten
#

experience

hoary idol
#

well yeh u get IRL networking experience

#

outside of this minecraft thing

frigid ember
#

it took me half year to just figure out everything needed for a single bungeecord setup with data being well synced between all servers, for stuff like parties, friends

hoary idol
#

ik the struggle

#

when i first learnt about bungeecord i was like WHAT!!!

#

how is that possible

frigid ember
#

magic

hoary idol
#

i thought multi world was the top of it all

#

@odd knoll is there a way where you can setup the bungeecords, in which when you take down proxy 1 it doesnt kick any players and they fallback to the second proxy?

#

basically what happens with spigot servers

odd knoll
#

Not sure. Don't think so.

bronze marten
#

dont think you can for the case when bungeecord pops out

#

like when the server crashes or sth

odd knoll
#

Like, I know how to do this stuff but I've never messed around with things related to it heavily.

#

Nice @frigid ember ๐Ÿ™‚

hoary idol
#

oh ok

bronze marten
#

bcs that would need active listening from the other proxy I think

hoary idol
#

so the proxys have to listen to each other

#

bruh

#

how

odd knoll
#

It'd need a lot of stuff.

#

And, you couldn't do it FROM the proxy.

hoary idol
#

and like they would need to be each others fallback

#

my brain hurts

odd knoll
#

If the proxy crashes, you'd need to have a system other than that proxy to move them over.

hoary idol
#

./effect clear

odd knoll
#

That works with Spigot servers crashing because they're logged in through the proxy.

hoary idol
#

right because the proxy manages player location

bronze marten
#

yeah so basically you need a bungeecord for bungeecord

hoary idol
#

yeh lol

odd knoll
#

Or some super system above it all that's custom.

hoary idol
#

i dont mean in game ๐Ÿคฆโ€โ™‚๏ธ
@frigid ember lol im meming

odd knoll
toxic valve
#

can I ask a quick spigot plugin dev question here or do I have to make a post?

odd knoll
#

You can ask it here @toxic valve

hoary idol
#

yeah so basically you need a bungeecord for bungeecord
@bronze marten dude that makes no sense, meaning, if the "bungeecord for bungeecord" crashed its the same single point of failiure

#

so its an infinite problem

odd knoll
#

That's why issues occur with things.

bronze marten
#

it is

#

and its called CAP theorem or sth

#

basically

toxic valve
#

thanks! trying to print an arraylist UUID into chat using p.sendMessage(). It work with e.getPlayer, but I'm using it in the onCommand class with my command so the object is cast Player p = (Player) sender so when I type p.sendMessage it will print strings, but when I try to print the ArrayList<UUID>.toString() it just prints []

odd knoll
#

There's a limited amount of redundancy you can have.

bronze marten
#

you cant have it all

hoary idol
#

yeh

#

and there is no fixing that

odd knoll
#

Where's that ArrayList<UUID> coming from @toxic valve?

hoary idol
#

thats comp sci

odd knoll
#

If you're literally just doing that, there isn't going to be anything in it.

toxic valve
#

it's a global variable in my CommandExecutor class. the same class @odd knoll

odd knoll
#

Can you screenshot it.

#

Are you actually doing ArrayList<UUID>.toString(), because if so, you're not referencing the variable.

#

ima watch the SpaceX launch now.

toxic valve
#

public ArrayList<UUID> jumpDamage = new ArrayList<>();

#

p.sendMessage(jumpDamage.toString());

#

Player p = (Player) sender;

odd knoll
#

You sure you add to jumpDamage?

toxic valve
#

that's the variable, i'm assuming it has something to do with casting?

#

yeah I have another class that prints the array list to the console

odd knoll
#

Do you ever jumpDamage.add or set it to another array list with something in it?

toxic valve
#

it's just not printing into chat with the command class, another class prints to chat fine

odd knoll
#

Because if not, it's empty.

hoary idol
#

@odd knoll

#

I was going through a spigot thread (https://www.spigotmc.org/threads/multi-bungeecord.14193/) and i found this -

You can use the RRDNS to make a load balancing with an unique IP, send people to one "login server" and then send players with signs or portals to the "main server lobby" or the "minigames lobby"
To do that you may create two SRV records with this configuration:
mc.yourserver.net ----------> priority 10, weight 1, port 25565, target yourfirstbungeecord
mc.yourserver.net ----------> priority 10, weight 1, port 25565, target yoursecondbungeecord

If you know what he is doing then explain.

odd knoll
#

They're just doing exactly what we explained.

hoary idol
#

or but i see SRV records instead of A

#

idk what SRV's are

odd knoll
#

They're not instead of.

#

They're using in addition to.

hoary idol
#

what does it do

#

different

odd knoll
#

Not sure about how SRV records will affect it, but I'm pretty sure it can change the chance.

#

If @bronze marten is free, it'd be better for them to explain. They'd definitely know better.

bronze marten
#

srv record wont affect your round robin dns

#

just having 2x a record is also fine

#

but yeah the weight makes the randomness

hoary idol
#

ok cool

#

well thats it

#

im gone

toxic valve
#

@odd knoll fixed it. arraylist was global variable but it needed to be static ๐Ÿคฌ

#

thanks anyway

pallid turret
#

Hello! I've been messing with scoreboards recently and for some reason I get kicked from the server I test on when I join, it seems like the error is related to having over 40 characters in a string though the strings one by one don't have over 40 charactersl, can anyone help?

frigid ember
#

?cba

worn temple
#

?ask

worldly heathBOT
#

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.

worn temple
#

Read the bot message. One of the strings has over 40 characters. Maybe you could post the code and the error lol.

icy cosmos
subtle blade
#

there has to be more to that exception

icy cosmos
#

I don't think so

subtle blade
#

I'm telling you so

#

Something is snuffing out the stacktrace

worn temple
#

Something is eating the error. This is more too it

pallid turret
#

Well there is no code

#

Only a kick message

bronze marten
#

look up

#

earlier in the log

#

there you will see the full error

pallid turret
#

Sorry for the question I asked that Nova responded to

icy cosmos
bronze marten
#

rn its just repeating the caused by and the environment

icy cosmos
#

I found it!!

bronze marten
#

PrisonScoreboard.java:51?

icy cosmos
#

I have posted class above

bronze marten
#

Either scoreboard.getTeam("balance") is null, or player is null

#

try to debug that

pallid turret
#

I get an error when I'm using scoreboards that's only a kick message

#

Says io.netty.handler.codec.DecoderException: The recieved String length is longer than maximum allowed (57 > 40)

#

Each line of my string has less than 40 characters though in the scoreboard

#

The comment saying characters can't be 40 characters long or more is what I thought'

#

After the error though it seems like it isn't\

worn temple
#

Debug itm comment out one line at a time till it doesn't kick you. Then you know which it is. Because it clearly has a line over 40 characters.

ripe ledge
#

There is a way to check when player login the server if this the player first login?

pallid turret
#

Ok thanks

#

@ripe ledge if(!player.hasPlayedBefore())

ripe ledge
#

ok thanks!

pallid turret
#

Thanks Nova, I found out I was an idiot

#

I tried assigning a hashmap without identifiying what part of it to use so it tried printing out everything

#

Though 1 really weird thing now

#

In here:

            website.setScore(1);
            discord.setScore(2);
            blankLine.setScore(3);
            microStars.setScore(6);
            blankLine3.setScore(5);
            onlinePlayers.setScore(4);
            blankLine2.setScore(7);
            rank.setScore(8);
            username.setScore(9);

It all works though the only blankline that appears is 7

#

Oh wait

#

Yep nevermind I';m fine

worldly heathBOT
worn temple
#

please use pastebin/hastebin

zealous yoke
#

Y u do an instanceof check?

worn temple
#

it'll error before you even get to the instance check

#

second, your formatting is terrible, but that's just a formatting issue

#

When the command runs, keep some sort of list of players that just used it that is cleared out after a certain amount of time. Then just always be listening to the event and only do the action if the player' s ID is in that list

#

But don't all do that in the same class

zealous yoke
#

That is very very simple

worn temple
#

XY problem

zealous yoke
#

When the command runs, keep some sort of list of players that just used it that is cleared out after a certain amount of time. Then just always be listening to the event and only do the action if the player' s ID is in that list
He should use a set

worn temple
#

@zealous yoke a map, but same idea. was just quickly explaining what to do.

zealous yoke
#

Why a map? He just needs a set indicating which players used the spawn command. A set is the perfect collection for this

#

You know google?

#

Then why dont u use it?

pallid turret
#

I accidentally made a bug in Spigot where my walking speed is permanently increased, is there anyway I can delete something like a player file to reset data?

zealous yoke
#

Oh man please lern java

#

You cant code a plugin without java knowledge

worn temple
#

Check out that site for amazing java resources

#

@frigid ember you don't. Stop. Learn java. Then come back to spigot.

zealous yoke
#

okay dude, but how the heck can I listen for the event inside the if statement
You cant

#

It is as simple as that

worn temple
#

Again XY problem here

zealous yoke
#

Yep

worn temple
#

And occum's razor

#

As well as a fundamental misunderstanding of programming principles.

#

@frigid ember Yes. learn java, then we will welcome you back into the dev community will open arms.

#

The issue with mc dev I constantly find is people who have no knowledge of programming at all just trying to just head first into the literal ocean that is programming. Start out in the kiddie pool first or you're gonna drown.

#

don't use eclipse. and just import it into IJ.

#

There's literally zero reason to use 2 IDEs for the same project

frigid ember
#

Hello, how to remove a element from TabComplete of command ? ( I register my commands without plugin.yml )

like: /example Element_ToRemove

worn temple
#

@frigid ember just open the project in IJ plain and simple.

subtle blade
#

and i've heard intellij is better
Whichever one you prefer is better

#

Try it, switch back if you don't like it

frigid ember
#

Hello, how to remove a element from TabComplete of command ? ( I register my commands without plugin.yml )

like: /example Element_ToRemove

worn temple
#

Don't constantly repost the same question, especially when its still on the screen and visible. If you don't get a response, or the people here don't know the answer, open a thread on the forum, where you can then bump it after 24 hours instead of spamming chat. Thanks.

frigid ember
#

return to Intellij you

worn temple
#

?

frigid ember
#

๐Ÿ™‚

ripe ledge
#

When the PlayerJoinEvent set the join event message on the server, there is a way to check what plugin did that?

subtle blade
#

No

ripe ledge
#

Oh:(

frigid ember
#
    ArmorStand armorStand = (ArmorStand) loc.getWorld().spawnEntity(loc.clone().add(0, 1, 0), EntityType.ARMOR_STAND);
    armorStand.setVisible(false);
    armorStand.setCustomName(title);
    armorStand.setCustomNameVisible(true);
    armorStand.setRemoveWhenFarAway(false);

I have this, but how would I change it so players can still hit entities through the armor stand

ripe ledge
#

When I join my server (even without plugins installed) the server says PLAYERNAME joined the game
There is a way to remove that?

#

Someone?

worn temple
#

Chill. Allow people some time. Its been a whole 8 minutes.

#

its a built in minecraft behavior. a plugin has to override and cancel that message event.

ripe ledge
#

ok

austere flame
#

yo is there a utility function that takes a string and returns it without any ChatColor data?

tiny dagger
#

ChatColor.stripcolor

austere flame
#

ty!

marble scarab
#

If I want to create a plugin that is compatible in version 1.8.8 as in 1.15.2, is it enough to add those 2 JAR files?
And doesn't it matter the order in which you import the JAR files?

fathom shard
#

so im trying to subtract an amount from a itemstack in a players inventory if the size is greater than 1, but the problem is it doesnt subtract

wind dock
#

anyone know of any good free queue plugins with donator priority support?

dusty topaz
#

@fathom shard show code

fathom shard
#

Sorry forgot to comment, its resolved i wasnt updating the stack after

toxic valve
#

getting confusing results, for custom death messages is it better to use EntityDamageByEntityEvent or PlayerDeathEvent?

dusty topaz
#

playerdeathevent

#

setDeathMessage

toxic valve
#

@dusty topaz I'm trying to get the killer "xx was killed by xx" etc, so I would use PlayerDeathEvent over that? Wouldn't I have to use EntityDamageByEntityEvent

green skiff
#

yo how do you make a compass track someone

unique fox
#

anyone with experience of the plugin EasyBackup I can borrow a few mins off?

green skiff
#

hello can someone respond

weary harness
#

@green skiff CMI can do that

#

anyone know of a plugin that lets you know which bungeeserver you connected to?

#

that doesnt broadcast to everyone else

#

so not a custom join/leave msg

terse schooner
#

Does anyone know of a plugin that'll allow me to use unbreaking past 3? Like, that'll make unbreaking 10 work

#

I've seen a lot of servers with unbreaking IX on custom items to make leather sets viable, but I haven't figured out how to get it to work.. whenever I enchant past unbreaking 3, unbreaking either stops working or only does level 3

dusty topaz
#

Tim the enchanter

#

not sure how outdated it is now though

cloud crater
#

@toxic valve on playerDeathEvent you can getKiller and getVictim

dusty topaz
#

player death event is deprecated iirc?

#

maybe not

#

lol

cloud crater
#

No

austere flame
#

can you change the ClickAction of a TextComponent after you already sent it to the player? IE disable it

cloud crater
#
    public void onPlayerDeath(PlayerDeathEvent event) {

        Player killer = event.getEntity().getKiller();
        Player player = event.getEntity().getPlayer();

        event.setDeathMessage(player + " was killed by " + killer);
        
    }```
#

Example i just tested

zinc ingot
#

hey choco, is the codemc nms repo legal

#

if i were to include it in my maven project that is

frigid ember
#

.

weary harness
#

anyone know of a plugin that lets you know which bungeeserver you connected to?

that doesnt broadcast to everyone else

so not a custom join/leave msg

cloud crater
#

not specially a return current viewed server plugin

#

doesnt /server tell you what server your already on?

weary harness
#

i mean it does

#

and i can just edit tablist

#

but i want it as a chat msg

#

or titlemsg idc

#

just dont want the rest to have to see it

cloud crater
#

dm if you need something like that doing, its really simple to do

weary harness
#

i will keep that in mind

buoyant path
#

Question: Why is isOnGround deprecated ?

dusty topaz
#
Deprecated.
Inconsistent with Entity.isOnGround()
Checks to see if this player is currently standing on a block. This information may not be reliable, as it is a state provided by the client, and may therefore not be accurate.
subtle blade
#

hey choco, is the codemc nms repo legal
NMS can't be publicly mirrored. So... no

#

even Spigot's Nexus doesn't have NMS

#

Just the API. That's it.

zinc ingot
#

ok thanks

subtle blade
#

Running BuildTools will local install the server jar

zinc ingot
#

i was wondering because of whether or not i would be allowed a project to maven central because of it

#

didn't want to go pulling any illegal moves that would be troublesome

strange grove
#

does anyone know how to define a player? if it is not the sender?

#

I would aprecciate the help

#

๐Ÿ™‚

dusty topaz
#

@strange grove from what

strange grove
#

well

#

the player is the sender

#

but

#

it's not registering

#

so

#

i'm asking about entitys

dusty topaz
#

I don't understand are you trying to get the sender as a player

subtle blade
#

Bukkit plugins & Maven Central are generally a big no no because Bukkit itself isn't on central

dusty topaz
#

Or get the player from an argument or

strange grove
#

well

subtle blade
#

jitpack is a good alternative afaik, but again, but NMS

odd knoll
#

A CommandSender can be cast to a Player, just make sure it is a Player first.

strange grove
#

what i'm trying to do is make the code deploy a hologram @dusty topaz

dusty topaz
#

wat

strange grove
#

but it goes for the itemframe

#

and places itself there

#

or at least it's location

#

do you know how to do this

#

i have been stuck for over an hour i think

dusty topaz
#

i have no idea what you just said, but to get the players location just use Player#getLocation

#

and to get the player, Player player = (Player) sender;

strange grove
#

yes i know this

#

but

#

i wnat to get the itemframe

#

that's getting deployed

#

how do i do that

dusty topaz
#

getting deployed?

strange grove
#

well

#

yeah

dusty topaz
#

show some code lol

strange grove
#

ok

#

well

#

it's not mine

#

it's someone elses

#

i'm editing the code for personal

#

use on my server

#

and this plugin is called animated frames

#

but i can show you the afcreate command i want to us

#

e

#

@Synchronized
public AnimatedFrame createFrame(String name, String source, ItemFrame firstFrame, ItemFrame secondFrame) {
if (frameMap.containsKey(name)) {
throw new IllegalArgumentException("Frame '" + name + "' already exists");
}

    JsonObject meta = new JsonObject();
    AsyncFrameCreationEvent creationEvent = new AsyncFrameCreationEvent(name, source, firstFrame, secondFrame, meta);
    Bukkit.getPluginManager().callEvent(creationEvent);
    name = creationEvent.getName();
    source = creationEvent.getSource();

    AnimatedFrame frame = new AnimatedFrame(firstFrame, new Vector3DDouble(firstFrame.getLocation().toVector()), new Vector3DDouble(secondFrame.getLocation().toVector()), name, source);
    frameMap.put(frame.getName(), frame);
    frame.setMeta(meta);

    return frame;
}
dusty topaz
#

put it in a code block

strange grove
#

how so ?

dusty topaz
#

surround it in

#

```

strange grove
#

ok

#

' ' '

#

' ' ' @Synchronized
public AnimatedFrame createFrame(String name, String source, ItemFrame firstFrame, ItemFrame secondFrame) {
if (frameMap.containsKey(name)) {
throw new IllegalArgumentException("Frame '" + name + "' already exists");
}

    JsonObject meta = new JsonObject();
    AsyncFrameCreationEvent creationEvent = new AsyncFrameCreationEvent(name, source, firstFrame, secondFrame, meta);
    Bukkit.getPluginManager().callEvent(creationEvent);
    name = creationEvent.getName();
    source = creationEvent.getSource();

    AnimatedFrame frame = new AnimatedFrame(firstFrame, new Vector3DDouble(firstFrame.getLocation().toVector()), new Vector3DDouble(secondFrame.getLocation().toVector()), name, source);
    frameMap.put(frame.getName(), frame);
    frame.setMeta(meta);

    return frame;
} ' ' '
#

dang 5t

dusty topaz
#

you need a newline after the ```

strange grove
#

@Synchronized
public AnimatedFrame createFrame(String name, String source, ItemFrame firstFrame, ItemFrame secondFrame) {
if (frameMap.containsKey(name)) {
throw new IllegalArgumentException("Frame '" + name + "' already exists");
}

    JsonObject meta = new JsonObject();
    AsyncFrameCreationEvent creationEvent = new AsyncFrameCreationEvent(name, source, firstFrame, secondFrame, meta);
    Bukkit.getPluginManager().callEvent(creationEvent);
    name = creationEvent.getName();
    source = creationEvent.getSource();

    AnimatedFrame frame = new AnimatedFrame(firstFrame, new Vector3DDouble(firstFrame.getLocation().toVector()), new Vector3DDouble(secondFrame.getLocation().toVector()), name, source);
    frameMap.put(frame.getName(), frame);
    frame.setMeta(meta);

    return frame;
} ``
dusty topaz
#

sigh

strange grove
#

dang 5t

#

im bad at this

#

sry

#

for my bad spelling

#

and the heck of a hassle im causing you

#

@Synchronized
public AnimatedFrame createFrame(String name, String source, ItemFrame firstFrame, ItemFrame secondFrame) {
if (frameMap.containsKey(name)) {
throw new IllegalArgumentException("Frame '" + name + "' already exists");
}

    JsonObject meta = new JsonObject();
    AsyncFrameCreationEvent creationEvent = new AsyncFrameCreationEvent(name, source, firstFrame, secondFrame, meta);
    Bukkit.getPluginManager().callEvent(creationEvent);
    name = creationEvent.getName();
    source = creationEvent.getSource();

    AnimatedFrame frame = new AnimatedFrame(firstFrame, new Vector3DDouble(firstFrame.getLocation().toVector()), new Vector3DDouble(secondFrame.getLocation().toVector()), name, source);
    frameMap.put(frame.getName(), frame);
    frame.setMeta(meta);

    return frame;
} ` `
#

why isn't it working?

#

@Synchronized
public AnimatedFrame createFrame(String name, String source,
ItemFrame firstFrame, ItemFrame secondFrame) {
if (frameMap.containsKey(name)) {
throw new IllegalArgumentException("Frame '" + name + "' already exists");
}

    JsonObject meta = new JsonObject();
    AsyncFrameCreationEvent creationEvent = new AsyncFrameCreationEvent(name, source, firstFrame, secondFrame, meta);
    Bukkit.getPluginManager().callEvent(creationEvent);
    name = creationEvent.getName();
    source = creationEvent.getSource();

    AnimatedFrame frame = new AnimatedFrame(firstFrame, new Vector3DDouble(firstFrame.getLocation().toVector()), new Vector3DDouble(secondFrame.getLocation().toVector()), name, source);
    frameMap.put(frame.getName(), frame);
    frame.setMeta(meta);

    return frame;
}
#

hmm

dusty topaz
#

mind not spamming the channel

sand fjord
#

hi, if my server is dropping 5~ ticks per second down to 15TPS when there are two people on the server with 40% ram being used would the TPS drop be from the hardware at that point?

strange grove
#

sry sry

#

um

#

hmm

#

well i think i've reached a new milestone "Dumber than a box of Rocks".

#

um

#

so what do i do to get the item frame @dusty topaz

#

as the places location

dusty topaz
#

the item frame is passed in

#

and returned

strange grove
#

hm

dusty topaz
#

so you literally already have the item frame

strange grove
#

so what do i do then

#

to tell it to get an item frame and place the hologram there?

dusty topaz
#

whatever you need with the itemframe

strange grove
#

hm

subtle blade
#

(1)
```java
insert your code here
```

(2) Use a hastebin for large snippets of code

strange grove
#

if (Entity instanceof ItemFrame){ ((ItemFrame) Entity).getLocation(); }

#

hey guys would you do this?

sand fjord
#

why not?

subtle blade
#

Why? Entity has a location method ;P

sand fjord
#

^

strange grove
#

well

subtle blade
#

The cast is unnecessary here

strange grove
#

im trying to spawn a hologram in that specific loaction

#

@subtle blade

#

if you want to know what I want to do

subtle blade
#

That's fine, but as far as your snippet goes, it's unnecessary. entity.getLocation() accomplishes the exact same thing without the need to cast

#

Entity defines getLocation()

strange grove
#

how do I define

#

entity

#

i'm very bad

#

at this

#

and i forgot which video it was

#

so

#

yea

#

i would rly aprecciate it man

#

if you told me

#

how to define it

subtle blade
#

You don't define one. You get one from some source. Whether that's an event or some other getter

#

Entity-related events, etc.

strange grove
#

well

#

the thing im using does not have an event

subtle blade
#

You can spawn one if you'd like

strange grove
#

how so?

subtle blade
#

(here you need a World as well - again, from some other source)

pastel condor
#

for some reason when a player clicks in my gui, it clicks twice

#

for example if they click open settings gui, then it opens the settings gui and clicks an option in the settings gui

strange grove
#

hey i'm trying to get the location but the codes not working and i've got no clue how to fix it any pointers?

#

` ArmorStand hologram = ((ItemFrame) Entity).getWorld().spawnEntity(ItemFrame.getLocation, Material.ARMOR_STAND);
``

#

`` ArmorStand hologram = ((ItemFrame) Entity).getWorld().spawnEntity(ItemFrame.getLocation, Material.ARMOR_STAND);`

#

and can't seem to give it a loacation

#

location

#

hello @anyone?

#

๐Ÿ˜ฆ

velvet halo
#

ItemFrame is that a variable name?

strange grove
#

no

#

it is the material

#

``ArmorStand holograph = (ArmorStand) ((ItemFrame) Entity).getWorld().spawnEntity(((ItemFrame) Entity).getLocation(),EntityType.ARMOR_STAND);
holograph.setVisible(false);
holograph.setCustomNameVisible(true);
holograph.setCustomName(ChatColor.BLUE+"hello!");`

#

this is my new one

#

but

#

it still does not work for some reason

velvet halo
#

What is Entity ?

strange grove
#

any player or mob

#

it is not a variable

#

but a class

#

i think

velvet halo
#

That is your problem. You will have to get location from a declared entity. You can't just get a location from a class because it doesn't actually exist.

strange grove
#

hmm how do i do this friend?

velvet halo
#

Well it depends on the function parameters that you are creating the armorstand in

strange grove
#

define parameters

#

im a newb

velvet halo
#

Are you trying to create an armor stand on a command? or an event?

strange grove
#

on a command

#

but

#

well actually let me send you the full code

#

f (Entity instanceof ItemFrame){ ArmorStand holograph = (ArmorStand) ((ItemFrame) Entity).getWorld().spawnEntity(((ItemFrame) Entity).getLocation(),EntityType.ARMOR_STAND); holograph.setVisible(false); holograph.setCustomNameVisible(true); holograph.setCustomName(ChatColor.BLUE+"hello!"); }

#

f is not part of the code

#

i was just typing quickly

#

ok?

velvet halo
#

If you are unaware of what a parameter is and how to properly pass variables in functions then it is obvious that you need to learn java.

strange grove
#

yes

#

but right now

#

I would like an answer

#

plz

#

thx in advance

#

i'm halfway done

#

I just need this little bit and i think i got it covered

velvet halo
#

I understand that you would like an answer and I would happily give it to you but you are not going to learn if people keep spoon feeding you. You are going to keep asking the same questions over and over again.

strange grove
#

yes

#

that is true

#

but i have been surfing the web for weeks now

#

trying to find an answer

#

so you would understand correct?

velvet halo
#

You need to learn rather than trying to find a specific answer.

strange grove
#

yes

#

that is true

velvet halo
#

If you learn it then eventually you will come across the same answer and be like oh heh I know this now.

strange grove
#

yes

#

that is true

#

well

#

hmm

velvet halo
#

What is your preferred method of learning?

strange grove
#

well i like to be hands on

velvet halo
#

It can be watching videos, reading things, taking free classes.

strange grove
#

and be given a challenge

#

so i watch a video

#

then do a diffrent thing using the stuff i know to create it

velvet halo
#

There are quite some nice hands on coding classes online that are for free

#

where you have to solve certain questions by writing code

strange grove
#

yeah

velvet halo
#

I thing that would best suit your way of learning

green skiff
#

how do you make a compass tracksome on the simple compass plugin

strange grove
#

probably

#

but

#

is it wrong to ask a question

#

I know

#

and I got a stop being spoon fed

#

but i need help

#

this is the last strectch @velvet halo

#

the very last part

#

and i'm finished

green skiff
#

can someone answer

velvet halo
#

It is completely fine to ask questions. However some questions indicate the experience of a developer and it is a huge help if they know a bit of java so simple problems can be solved

strange grove
#

yes

#

that is true

velvet halo
#

Mainly the questions asked here should be in relation to the spigot api rather than java itself.

strange grove
#

yeah

green skiff
#

can yall just answer

velvet halo
#

and if we can see that you can't do something because your java experience is stopping it from doing so then we suggest you learn java.

#

Because in the long run it is going to help your journey using spigot.

strange grove
#

yeah

pastel condor
#

for some reason when a player clicks in my gui, it clicks twice
for example if they click open settings gui, then it opens the settings gui and clicks an option in the settings gui

velvet halo
#

@green skiff If you are asking for help about a certain plugin then I suggest you contact the author of that plugin. If you want to create a compass plugin that tracks people yourself then I am afraid you will have todo it yourself.

#

Also @strange grove I recommend codeacedemy java classes as that gives you a hands on experience.

strange grove
#

ok

velvet halo
#

You pretty much learn the reason why you are typing certain code

#

and what the code you have typed does.

strange grove
#

yes

#

got it

#

I think i did python on there once

velvet halo
#

You will see once you learn more programming languages that they have a lot in common.

#

Most languages have if statements and data types.

#

and lots more

frigid ember
#

Hey guys, in eclipse is there any way to make it so when I export a file it does that last save name for the project im working on instead of the last name that I exported with? (Please no use IntellIJDEA responses)

high basin
idle garden
#

i didnt have a plugin folder so i just made one; will that work?

heady jolt
#

the server should automatically create it for you. also you should try if its work or not.

idle garden
#

okay thanks

wheat pumice
#

i can't cancel my repeating task, it throw IllegalStateException: Not scheduled yet and still repeat

naive goblet
#

What are you initially trying to accomplish

wheat pumice
#

hmm

#

wait i write it

naive goblet
#

Well the exception from BukkitRunnable#cancel() is because the task wasnโ€™t scheduled yet

wheat pumice
#

how can i fix it

naive goblet
#

Does it have to be โ€œasyncโ€ otherwise you might just want to go with BukkitScheduler#runTaskTimer()

wheat pumice
#

i cant understand :((

#

can you fix it for me as a example

naive goblet
#
int count = 0;
Bukkit.getScheduler().runTaskTimer(plugin, task -> {
  if (!(count >= 10)) {
    count++; 
    // if count is 0-9
  } else {
    task.cancel();
  }
}, 0L, 20L);
#

Not the best code but you get the idea

#

Then just call task.cancel() if inside the consumer or else just create a reference variable as the runTaskTimer() returns a BukkitTask

wheat pumice
naive goblet
#

What version?

#

Minecraft Version?

fleet crane
#

thats definitely not valid bukkit code conclure

#

there's no method that takes a task like that'

naive goblet
#

Consumer<BukkitTask> ?

velvet halo
#

You can do a lambda instead

fleet crane
#

oh I stand corrected

#

its a relatively recent edition though, theyre probably using 1.8

naive goblet
#

From what I know legacy versions doesnโ€™t have Consumer<BukkkitTask>

#

Yeah

#

Might want to use runnable then

velvet halo
#

Oh it is a new addition, that is super helpful!

naive goblet
#
BukkitTask task = Bukkit.getScheduler().runTaskTimer(plugin, ()->, 0L, 20L);```
velvet halo
#

Just changed my spell code, how did I not know about this >.<

#
plugin.getServer().getScheduler().runTaskTimer(plugin, task-> {
    if(spell.finished) task.cancel();
    spell.process(player);
}, 0L, 0L);
naive goblet
#

That seems fine

#

runTaskTimer with 0L, 0L though

subtle blade
#

mfw public boolean fields

#

i hurt

velvet halo
#

It is actually a protected field

subtle blade
wheat pumice
#

:(( how can i fix it

naive goblet
#

You could probably cancel it with the id

#

Thatโ€™s certainly the easier way of doing it

wheat pumice
naive goblet
#

Still donโ€™t use that scheduleAsyncRepearingTask

#

use a runTaskTimer

vagrant hornet
#

i have a new forums account can i link it?

naive goblet
#

Create a reference for the task and get the id from the task and cancel @wheat pumice

vagrant hornet
#

hello??????

naive goblet
#

No clue

vagrant hornet
#

@subtle blade

#

@zenith palm

golden vault
#

You should not have a new forums account unless you got prior approval.

vagrant hornet
#

how do i get approval?

subtle blade
#

What's the reason for a new account anyways?

vagrant hornet
#

the other one is with my old email i no longer have access to

sharp mauve
#

Yo real talk i need help identifying an asian tik tok song who can voice chat?

fleet crane
#

the other one is with my old email i no longer have access to
@vagrant hornet last seen: 21 minutes ago

#

I'm calling BS

#

you can change your email, that's not a reason for making a new account

frigid ember
sharp mauve
#

P which plug-ins do you have and what is your console.log say

violet peak
#

Recently I've been trying to get into coding Spigot plugins for my personal Minecraft server, however I had a little question about this line in the IntelliJ guide.

"Warning" Scroll up, read all the steps again, and Add a server.jar to your external library list, before continuing to step 3. Otherwise, the IntelliJ idea program will not show the auto type suggestion popup for JavaPlugin.

When it says server.jar, does that mean the one from Minecraft.net or does it mean I can use like a paper Spigot one?

#

Also, if I'm completely honest I have no idea how to get a normal Spigot server jar

#

ok nvm I'm running into this weird bug no when I try to get Spigot from BuildTools

#

no matter what I do and how much memory I specify, it always says that I have less memory available than the max

#

and it never changes unless I change the max

fast pilot
#

hello

obtuse rose
#

no matter what I do and how much memory I specify, it always says that I have less memory available than the max
@violet peak What are you trying to do?

violet peak
#

Oh, I guess that somehow fixed itself

#

I was trying to run BuildTools.jar

#

and it was being weird but I ran it for like the 10th time and it started working

lament sonnet
#

on my server if i select AUTO UPDATING: spiggot 1.15.2 (locked to 1.15.2) will it automatically update?? im using shockbyte

violet peak
#

If Shockbyte is your host, which I am assuming it is

#

then yes, it'll automatically update

lament sonnet
#

ok thanks

violet peak
#

Anyone know why this is grey'd out .-.

worn gate
#

How can u add a permission to a player ? Does player.addPermission('lp.perm') exist ?

naive goblet
#

Vault

sick citrus
#

Never understood the massive interest people give to Vault

naive goblet
#

Simple

sick citrus
#

If you're developing for yourself only, I see literally no point in using it

naive goblet
#

Just for learning purposes perhaps no

sick citrus
#

Most perm plugins have their own API

#

Why learn something you'll most likely never use

#

:๐Ÿด

naive goblet
#

Making it very annoying to support multiple perm plugins if you going to add each one as a dependency

sick citrus
#

If you're developing for yourself only, I see literally no point in using it
@sick citrus

#

You never seem to read everything

#

:p

#

Maybe if bukkit's perm system didn't suck, we wouldn't need this

#

How hard would it be for them to add string based perms

naive goblet
#

I mean Vault has its place not only for that but I mean most people use it on their own server for the chat and economy stuff so why not just use the API as well?

sick citrus
#

Let's be honest, I know no one who develops their own plugins that stick with Vault for economy/chat stuff

#

Not saying they don't exist

#

But recommending the use of Vault to someone who doesn't have a need for it is a bit silly

#

If you literally only need to add a few permissions, the easiest would be to use your perm plugin API...

#

Or to learn how to use permission attachments. It's not that hard and you can have a helper class handle then big work

#

Even tho it sucks

naive goblet
#

If you think so shrugface

#

Well I mean if you know have a perm plugin with itโ€™s own api go with that or learn how to make your own perm system if itโ€™s personal business but didnโ€™t really know the purpose at first and still donโ€™t know and well Vault has support for many plugins which is why Iโ€™d probably use it but I am agreeing what youโ€™re saying

bronze marten
#

Why invent the wheel if it has already been done for you

#

Its not like vault is bad

#

Its super lightweight

sick citrus
#

And useless

bronze marten
#

Not everything needs to be โ€œcustomโ€ because you dont want one feature of the plugin

#

And useless
@sick citrus then fork the project and add your stuff to it.

sick citrus
#

Eww no

bronze marten
#

Make a PR, maybe others can enjoy from it as well

sick citrus
#

Why do that when you can just attach a permission in 5 lines

bronze marten
#

With vault its 2

#

Luckperms its a few more, but thats because it can be setup in a distributed fashion

#

Just saying, dont spend a lot of time on stuff that already exists lol

#

Thereโ€™s a nice book about this type of thing: โ€œfrom zero to oneโ€

naive mountain
#

Does BungeeCord have RCON?

sick citrus
#

With vault its 2
@bronze marten
... You forgot to count Vault code in there. But you know...

bronze marten
#

And you forgot to count bukkit/nms/machine code lol

#

It does not matter

sick citrus
#

It's 5 lines of code with bukkit api.

worn gate
#

How can i use vault to add permissions to players

sick citrus
#

Show me how you do it in Vault without the bukkit api. I'm all ears.

bronze marten
#

??? Are you trolling

naive mountain
#

Weet iemand of BungeeCord RCON heeft?

bronze marten
#

@naive mountain deze discord is engels makker

naive mountain
#

Oh if I speak another language people will reply gg

#

I like it

bronze marten
#

Literally google โ€œbungeecord rconโ€ lol

#

First link is a link to a plugin

naive mountain
#

Yeah apparently it's not supported natively than

quartz tinsel
#

For open-source plugin should i include .idea folder and .iml file?

bronze marten
#

nah

hoary parcel
#

Most ppl will say no

#

Some ppl will say yes

#

It makes sense to include run configurations for example

#

Or if the project has special settings, etc

#

Generally, this means you have ide specific stuff, so it might be frowned upon

#

But intellij is the only ide worth using anyways

frigid ember
#

๐Ÿคฆ

hoary parcel
#

Aikar is an example of somebody who straight up commits all ide configs

novel osprey
#

hi, is there a guide to let you know how to start coding plugins, im new at this and im confusedn, thanks

sturdy oar
#

Supposing you already know Java , you can look at the Bukkit API documentation

frigid ember
#

or you can watch many the tutorials on youtube; TheSourceCode, Noah Rubin - formerly Pogo

sturdy oar
#

I don't really like the idea of tutorials , but ok.

#

if it works for him

frigid ember
#

.-.

#

without tutorials there wouldnt be this many people knowing how to make plugins

naive goblet
#

Seen lots of bad tutorials and the bad thing is that most people who doesnโ€™t understand will end up copy paste into their ide

sturdy oar
#

yeah if you're going to copy, at least get proper code to copy from

barren abyss
#

Is the server boost permanent or you have to pay it every month?

bronze marten
#

Every month

marsh hawk
#

Anyone wanna tell me why this isnt working

if (Modifier.isPrivate(field.getModifiers()))
                {
                    field.setAccessible(true);
                    field.set(this, conf.getFile().get(profileID + "." + field.getName()) );
                    Main.instance.postConsole(field.getName());
                    Main.instance.postConsole(conf.getFile().get(profileID + "." + field.getName()) + " ");
                }``` I'm getting a can't set int field to null value but when i print it to a log it gives me a non null value?? lmao
hoary parcel
#

primitives cant be null obviously

marsh hawk
#

yes but I'm printing Main.instance.postConsole(conf.getFile().get(profileID + "." + field.getName()) + " "); and it gives me the correct output, its not null

#

So it shouldnt be spitting out the error?

soft tusk
#

Hi, can anyone help me with cloning players? (When someone joins a minigame, 2 players join, but they clone to 3, and then the problem is, for example, that the game never ends or breaks)

#

Or does anyone know a good plugin on the Menu?

marsh hawk
#

wanna elaborate on that a bit more? I don't understand your question

soft tusk
#

for example I play with a friend on my server, there are two of us, so we're going to play BedWars, but it closes us to 3 players

limber moth
#

hey all, does anyone know how using buildtools to stop it from downloading portable git? I want it to use my local git installation?

soft tusk
#

I can't send image to this channel :/

limber moth
#

maybe you need to verify?

#

also it keeps changing my git username which is annoying, can that also be disabled?

soft tusk
#

Yes, i verifed

limber moth
#

does it allow now?

soft tusk
#

Yeah, done

bronze marten
#

@limber moth I think the --dont-update flag is what youre looking for

#

idk why your name is resetting though

#

could be because a random exception is thrown

tawdry venture
#

hey! i want to create trails for arrows, but this code doesn't creates enough particles. what can I do to increase the number of particles?

Arrow arrow = (Arrow) e.getProjectile();
                BukkitRunnable task = new BukkitRunnable() {
                    @Override
                    public void run() {
                        //particle util
                        Utils.fromStringEffect(rs.arrowEffectName).display(new Vector(0, 0, 0), 0.1f, arrow.getLocation(), 50d);
                    }
                };
                task.runTaskTimer(main, 0, 1);
bronze marten
#

you can do a for loop to spawn e.g. 5 particles each run() ?

#

for (int i = 0; i < 5; i++) {
//spawn particle
}

#

but theres also a count variable in Bukkit.spawnParticle() ?

#

does that utils method you have also have one?

tawdry venture
#

does that utils method you have also have one?
@bronze marten yes it has

#

my concern is that if I spawn more particles, they all will be in the same location, and the general outcome doesn't change

bronze marten
#

so what is what you want then? A smooth arrow trail?

tawdry venture
#

well a kinda continous trail

#

like the original trail

#

just with custom particles

bronze marten
#

then you would need to spawn particles in the direction of the arrow

#

like this runnable can only spawn each tick

#

after a tick the arrow has moved

#

so you need to spawn particles in between the arrows old position and new position

tawdry venture
#

well yeah

limber moth
#

@limber moth I think the --dont-update flag is what youre looking for
@bronze marten Is there a list of flags somewhere that is documented?

limber moth
#

oh I see it, thank you @bronze marten !!

#

I have git installed, I do not need portable git installed / downloaded every time I run buildtools

#

is there a flag for that? I dont see one

#

what it should do is, if it cannot resolve git or a specific version, THEN download portable git

#

Ah I see it checks that after

#

should check that first, if it fails then get portable git ๐Ÿ™‚

bronze marten
#

hmm interesting indeed, dont have windows myself ยฏ_(ใƒ„)_/ยฏ

limber moth
#

do they accept pull requests to fix this @bronze marten ?

bronze marten
#

sure I think so?

#

but maybe make an alternative flag for it, so it doesnt break already in place installations

limber moth
#

In my eyes, the logic does not make much sense

bronze marten
#

In think the main goal of that final check is to know for sure if git has been installed after all tries to check for current git installation + try to download

limber moth
#

does it in the wrong order by the looks of it

#

for windows that is

bronze marten
#

You could add a flag option to disable the git portable download

#

I think that solves your issue + does not break current installs

limber moth
#

thats really a patch vs an actual fix xD

#

But yes you do have a point about not breaking current installs but I dont see how it would tho

bronze marten
#

I dont see it as well, but if it could its better with the flag, idk tho

#

you could make a description msg asking if it was the right logic or sth

limber moth
#

im suprised not anyone else brought it up, everyone must be using linux then! ๐Ÿ˜†

#

yeah ill take a look into it and experiment with it

hoary parcel
#

nobody is forcing you to use buildtools

#

might as well just use the scripts manually

limber moth
#

oh

#

?

quasi harness
#

Hello! I have recently bought and downloaded โ€œtreasure petsโ€ if someone could be so kind and help me out thank you! (Just pm me)

ashen stirrup
#

Does Bukkit.getScheduler().runTask() run synchronously?

limber moth
#

@quasi harness contact the plugin developer would be your best bet

hoary parcel
#

yes, it schedules a sync task

limber moth
#

yup

quasi harness
#

I pmโ€™d him about 15 hours ago no response

limber moth
#

runTaskAsync() then would be async from the main thread

#

maybe a longer response time for him in these times, maybe leave it go a day or two? After that maybe try again? Does he have a support discord or something?

bronze marten
#

I pmโ€™d him about 15 hours ago no response
@quasi harness its weekend tho

limber moth
#

true that

#

I sometimes take up to a day to respond, life does not revolve around minecraft xD

quasi harness
#

Sorry ๐Ÿ˜‚ I live in a diff Timezone to everyone rlly

high minnow
#

Is it possible to limit/stopping chunk generation in Z-Direction? So that a player can run endless in ยฑX-Coords, but the world just is generated to Z=ยฑ100

limber moth
#

Pretty sure we all have different timezones

#

im in GMT

bronze marten
#

CE(S)T gang

#

Is it possible to limit/stopping chunk generation in Z-Direction? So that a player can run endless in ยฑX-Coords, but the world just is generated to Z=ยฑ100
@high minnow I think you would need a custom generator for that, just "cancelling" a chunk generation is not possible I think

#

but never messed with chunkgens, so dont quote me on that lol

hoary parcel
#

yeah, you would most likely want a custom chunk gen for that

#

I created an API that allows delegation to vanilla, that would be perfect for this

bronze marten
#

lmao nice

#

link?

hoary parcel
quasi harness
#

Setting up perms is seeming near to impossible for me I am paying this guy to set it up but need to give him perms that the ranks can use

#

F

subtle blade
#

Well, yea. You're basically paying someone to write lines into a configuration file for you

#

and you're telling him what to write lol

ashen dove
#

How can i do custom mob spawns?

#

So that i make a custom mobs, which spawns like normal zombies (Lightlevel and so)

chrome lark
#

you'd either need to do the spawning and the checks yourself, or, basically, hook into the spawn events and replace them with your own mobs on a chance or something

ashen dove
#

Creature spawn event?

tiny dagger
#

wow really? can i become a professional file writer? ๐Ÿค”

limber moth
#

is there such thing as a unique server ID for a spigot server? Before there used to be getServerName or getServerID but that is removed since last year

#

?

subtle blade
#

They had no real definition

#

So, no. There isn't. Nor is there much use for one either, really

alpine cedar
#

okay, i am a complete noob at spigot,
but how do you do comments in config.yml file?

limber moth
#

with "#"

alpine cedar
#

oh okay thank you!

limber moth
#

e.g ^

#

if your using windows, notepad++ will pickup that as a comment and highlight it in green

#

np

#

So, no. There isn't. Nor is there much use for one either, really
@subtle blade True but I have a use case so there is use for it xD

hoary parcel
#

any good editor does that

limber moth
#

true

subtle blade
#

That use case is?

#

because I can't think of anything aside from DRM

#

Which isn't a valid use case imo lol

hoary parcel
#

UUID.randomUUID -> save into your plugins data folder

#

done

alpine cedar
limber moth
#

no not DRM

subtle blade
#

Spigot is forwards compatible

alpine cedar
#

only forwards?

subtle blade
#

and backwards compatible in a way

alpine cedar
#

ok

limber moth
#

not a bad idea minidigger

alpine cedar
#

its a 1.15 plugin

#

so..

hoary parcel
#

thats what bstats does for example

subtle blade
#

If you're using something added in 1.14 for instance, more often than not it will work in 1.14 and above

limber moth
#

true

subtle blade
#

Also, please actually push your code up to GitHub instead of just having an empty repository with a README PES_CryHands

#

A README is not open source

alpine cedar
#

yeaaah

#

i was not home when i made the github, imma do it when i come home

limber moth
#

lol

frigid ember
#

@subtle blade

#

one of your staff does that

#

they just have a readme

#

๐Ÿ˜›

hushed sedge
#

hey, why it creates 2 different entries for one player, who was on two different servers? What do i have to do? (opteco)

#

in mysql

kind crow
#

how do I get plugin from a Listener class? I want to use plugin.getConfing(), but plugin is not defined. From the main class I can just use getConfig(), but not here

ripe ledge
#

There is an option to send a message to players that have a specific permission?

#

?

ionic sun
tawdry venture
subtle blade
#

Fuck

#

lol

tawdry venture
#

fastest copy in the west

subtle blade
#

Same image too ffs

tawdry venture
#

damn I copied the old one

#

you won

subtle blade
#

Oh shit you right. Well in that case, git fukt

tawdry venture
#

If I want to distribute the load by connecting players to different lobbies, is it correct to compute in the PostLoginEvent (Bungee plugin) and connect to the calculated server?

kind crow
#

how do I get plugin from a Listener class? I want to use plugin.getConfing(), but plugin is not defined
I define it like this Plugin plugin = PluginName.getPlugin(); but it needs one argument and I don't know what. In all the examples it doesn't have any arguments

subtle blade
#

Pass an instance through the constructor

kind crow
#

which constructor?

subtle blade
#

Wherever you want to use your plugin? Your listener?

kind crow
#

yes

subtle blade
#

Create a constructor that accepts an instance of your main class

#

In your listener class

#

Assign the passed value to a field

kind crow
#

thanks, it works

#

actually it's not xD

subtle blade
#

Make the constructor public

#

You defined it as package private (or protected)

kind crow
#

oh, my bad. Now it works ๐Ÿ˜„

torpid field
#

can someone help me, ive made a plugin (not really made because i followed a tutorial) and it does not load. My local server Ive sat up runs craftbukkit

alpine cedar
sturdy oar
#

yes

#

use methods to color strings, instead of calling translateAlternateColorCodes each time

#

store config values in another class so you don't have to read from the config each time

alpine cedar
#

uhuh

#

yeah

#

so like ColorCoding = translateaternate.....

sturdy oar
#

wut?

#
public static String color(String input) {
return ChatColor.translateAlternateColorCodes('&', input);
}
alpine cedar
#

okay

subtle blade
#

or just use ChatColor constants

sturdy oar
#

๐Ÿคทโ€โ™‚๏ธ yeah

alpine cedar
#

ok

subtle blade
#

oh they're configurable messages nvm

alpine cedar
#

yeah

bronze marten
#

Tell users to use the special chatcolor char in config ๐Ÿ‘€

subtle blade
#

no

torpid field
#

are there any reasons that plugins wont load?

subtle blade
bronze marten
odd knoll
#

๐Ÿค”

subtle blade
#

If it's not loading, show us the error, lerdyr

#

We can't guess ;p

torpid field
#

ok lemme find it 2 mins i am kinda slow

alpine cedar
#

the only thing is that i do not have the complete thing on github

#

only the main class

#

so i cannot like edit it

bronze marten
#

Use an ide to uplod to github

#

Dont upload by files

#

Or use gitcli

odd knoll
#

I use IntelliJ with GitHub Desktop (easier for beginners), although you can just use IntelliJ on its own.

torpid field
#

Ive found something that might help: (also my plugin is named Ping)

#

[15:07:35 ERROR]: Could not load 'plugins/Ping.jar' in folder 'plugins'
org.bukkit.plugin.InvalidDescriptionException: version is not defined
at org.bukkit.plugin.PluginDescriptionFile.loadMap(PluginDescriptionFile.java:906) ~[craftbukkit.jar:git-Bukkit-18fbb24]
at org.bukkit.plugin.PluginDescriptionFile.<init>(PluginDescriptionFile.java:232) ~[craftbukkit.jar:git-Bukkit-18fbb24]
at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPluginLoader.java:157) ~[craftbukkit.jar:git-Bukkit-18fbb24]
at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:133) [craftbukkit.jar:git-Bukkit-18fbb24]
at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugins(CraftServer.java:289) [craftbukkit.jar:git-Bukkit-18fbb24]
at org.bukkit.craftbukkit.v1_8_R3.CraftServer.<init>(CraftServer.java:251) [craftbukkit.jar:git-Bukkit-18fbb24]
at net.minecraft.server.v1_8_R3.PlayerList.<init>(PlayerList.java:69) [craftbukkit.jar:git-Bukkit-18fbb24]
at net.minecraft.server.v1_8_R3.DedicatedPlayerList.<init>(SourceFile:14) [craftbukkit.jar:git-Bukkit-18fbb24]
at net.minecraft.server.v1_8_R3.DedicatedServer.init(DedicatedServer.java:179) [craftbukkit.jar:git-Bukkit-18fbb24]
at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:504) [craftbukkit.jar:git-Bukkit-18fbb24]
at java.base/java.lang.Thread.run(Thread.java:835) [?:?]
Caused by: java.lang.NullPointerException

sturdy oar
#

god

#

?paste

worldly heathBOT
subtle blade
#

org.bukkit.plugin.InvalidDescriptionException: version is not defined

#

๐Ÿ˜„

odd knoll
#

Set version in plugin.yml

torpid field
#

oh

subtle blade
#

Usually the errors it throws have the answer written in plain English for ya

torpid field
#

ok this was my first time

#

making a plugin

#

ty all :D

subtle blade
#

o/

frigid ember
#

Uh what is the difference between scheduleRepeatingTask and runTaskTimer?