#help-development

1 messages · Page 660 of 1

tender shard
#

it's easy, you just run buildtools and then you got a 1.20.1 .jar

wise mesa
#

He did just say why he can’t

tender shard
wise mesa
#

Which is that he isn’t the owner and the owner refuses to update

tender shard
#

well bad luck for the owner I guess

wise mesa
#

.

#

Server owners are weird and dumb

tender shard
#

1.19.4? why? that's outdated since 2 versions

wise mesa
#

Make your own better server

sterile token
pseudo hazel
#

yes but they are also the people that give money

quaint mantle
pseudo hazel
#

its true

#

1.20 and 1.20.1

#

majority uses 1.20.1 now

tight bison
#

I'm trying to set a block's type to GRASS. It works, but instead of spawning grass, it spawns a dead bush.

for (Block block : floorBlocks) {
    final Block aboveBlock = block.getLocation().clone().add(0,1,0).getBlock();
    if (aboveBlock.getType() == Material.AIR) {
        aboveBlock.setType(Material.GRASS);
        this.grassBlockLocations.add(aboveBlock.getLocation());
    }
}
lilac dagger
#

i think it's something else @tight bison

#

use interact and click a grass block to see its type

tender shard
quaint mantle
tender shard
#

is there a way to check if a biome is a "rainy" biome?

quaint mantle
#

Idk

pseudo hazel
#

rainy as in?

#

if it rains at all?

tender shard
#

if there's actually rain coming down

pseudo hazel
#

maybe like humidity or whatever

tender shard
#

as in "player gets wet"

pseudo hazel
#

idk how much spigot exposes

tender shard
#

basically, nothing on biomes D:

pseudo hazel
#

classic spigot

#

switch statement it is

tender shard
#

biome only has getKey() lol

quaint mantle
#

I don't think that's spigot, I think minecraft doesn't have a rainy biome check, as it rains in the world, not at the biome, the game just ignores (client-side) rain if the biome specifies it

#

The server has no idea that X biome is not "rainy"

tender shard
#

but using NMS for this is ridiculous

quaint mantle
#

Pr spigot

#

Meanwhile I guess you will have in fact, to use NMS

#

Or...

#

You might have a set of known "non rainy" biomes

#

And check if the biome is in that set

#

Had someone got floating pets working with display entities?

#

Instead of armorstands, these entities don't smooth transition whenever they teleport

tender shard
#

also it'd require me to look up the wiki in every new update etc lol

quaint mantle
mortal hare
#

lol

quaint mantle
#

It's still possible to smooth transition through transformations but I'm not sure if players will stop rendering these entities if they get in new chunks (like, the entity's location would freeze)

tender shard
#

what even is a "websocket ip"?

quaint mantle
austere cove
#

I too often use words I do not fully understand to sound more quantum entangled

quaint mantle
#

Man

#

It's removed

tender shard
#

I don't find any official stuff about eaglercraft, only a ton of websites that say it's dead

quaint mantle
#

Yeah

#
Mojang Targets Repositories of Browser-Based Minecraft Copy 'Eaglercraft' Mojang is cracking down on the browser-based Minecraft copy Eaglercraft. The company removed 92 repositories from GitHub, claiming that they infringed the company's copyrights and trademarks.```
#

Are you aware we cannot promote piracy and such type of activities?

mortal hare
#

its like RE3

#

the same fate

#

i dont see how playing obselete version is "piracy" which loses money for the company

#

its literally the port of 1.5.2 and 1.8.8

tranquil beacon
#

?nms

river oracle
icy bone
#

I got a question, is it possible to change the color above someones head in Spigot? Like now everyone has their username in white but i want to make some people have it red above their head. Already got it fixed in Tab and Chat, but not above the head. Does someone know how to do so?

eternal oxide
#

Scoreboard Teams

icy bone
#

And that doesnt create problems when trying to reach the person name? For example, if using player.getName() im not getting the changed name but still the original?

eternal oxide
#

you set the team color/prefix

#

then add the player to that team

icy bone
#

In the prefix, can i only put the color or do i also need to put the name? Like does it fully overwrite the name or set the value before the original name?

zinc lintel
#

Does anyone know how to make support for multiple versions of the game?

eternal oxide
#

depends

#

on what you are doing

#

generally setting the API version in the plugin.yml is enough, and build for the lowest api

#

get teh same scoreboard

icy bone
#

Already found it haha

eternal oxide
#

ok

icy bone
#

I changed name and forgot to change it everywhere, silly mistake

eternal oxide
#

also, all players need to use the same scoreboard to see eachothers names

icy bone
#

Yeah i just want only one person to have a color named

eternal oxide
#

same scoreboard, just different teams

icy bone
#

So i also need to do player.setscoreboard(scoreboard) for all the players online? but just add the player that i want to have a color to the team?

eternal oxide
#

yes

icy bone
#

Hmm it seems like its not working,

    public void changePlayerColor(Player player, ChatColor color)
    {
        Scoreboard scoreboard = player.getScoreboard();
        Team team = scoreboard.getTeam("Owner");
        if(team == null)
        {
            team = scoreboard.registerNewTeam("Owner");
            team.addEntry(player.getName());
            team.setColor(color);
            team.setPrefix(color.toString());
        }
        for(Player players : Bukkit.getOnlinePlayers())
        {
            players.setScoreboard(scoreboard);
        }
    }

I am using this, but am i forgetting something?

eternal oxide
#

no need to add them all in that, If you are using teh main scoreboard you don;t even have to do anything

icy bone
#

I am not following you there sorry, what do you mean?

eternal oxide
#

just add the one player to the team you want

#

no need to setScoreboard as you are using the default

icy bone
#

Oh so i can fully remove it

eternal oxide
#

yes

icy bone
#

Still a white name

eternal oxide
#

one mistake though

#

if your team is not null (which it won;t be after first use) you never add teh player to the team

icy bone
#

Oh yeah ofc hahaha

#

Let me fix that real quick

#

But if a fully restart the server, shouldnt it also reset all the teams?

eternal oxide
#

so literally just move the last 3 lines out of the if null block

#

no teams are saved

icy bone
#

Alright seems to be working now!

#

One more question

#

if you have time

#

I add this when the specific player leaves

  Scoreboard scoreboard = player.getScoreboard();
            Team team = scoreboard.getTeam("Owner");
            if(team != null)
            {
                team.removeEntry(player.getName());
            }

is this nessesarry or is it not needed?

#

Like i remove him from the team when he leaves the server

eternal oxide
#

not really needed but it is nice to cleanup

icy bone
#

Alright then i leave it here. Thank you so much for your help!

#

If i want to make multiple colors for example for staff members, can i still use this methode but give the team another name? because you were talking about the main scoreboard.

eternal oxide
#

you can create whatever teams you want, but a player can only be in one at a time

icy bone
#

Ah thats perfect. Good to know, i wasnt planning on setting a player in multiple teams but thank you for the information

whole portal
#

Hey everyone this does not work but why?

MoveEvent Listener

package at.spawn.listener;

import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerMoveEvent;


public class MoveEvent implements Listener {

    public static boolean cancelSpawn;

    @EventHandler
    public static boolean onPlayerMove(PlayerMoveEvent event) {
        var cancelSpawn = true;
        return false;
    }
}

Command which should be canceled if the player moves

icy bone
#

Did you register the event?

#

getServer().getPluginManager().registerEvents()

remote swallow
#

the event shouldnt return a boolean

eternal oxide
#

oh my

remote swallow
#

huge

#

?learnjava!

undone axleBOT
eternal oxide
#

NEVER Thread.sleep on the main thread

#

and the event you posted does absolutely nothing

lilac dagger
#

you never need to use sleep as a beginner is better said

#

and when i see this

#

i can't help but think, this guy must've decompiled the code from somewhere

grim hound
#

Where can I download the paper api?

eternal oxide
#

lots of IDE auto suggests

lilac dagger
#

wait why?

#

autoboxing is a thing

eternal oxide
#

?whereami

wet breach
eternal oxide
#

neither does Eclipse

lilac dagger
#

maybe the text editors with language support?

onyx fjord
#

guys be careful when minimizing during shading

lilac dagger
#

like visual code

remote swallow
#

its intellij

lilac dagger
onyx fjord
wet breach
#

that makes no sense lmao

lilac dagger
#

do they use reflections?

#

i don't see why

#

on their own stuff

onyx fjord
#

yeah generally

lilac dagger
#

really?

#

wow

onyx fjord
#

i just had a classnotfound error

#

caused by minimizing

lilac dagger
#

weird

onyx fjord
#

and yaml file corrupted

#

😐

eternal oxide
#

highly unlikely

wet breach
#

sounds like a weird problem specific to you

onyx fjord
wet breach
#

because I background compile and shade all the time

onyx fjord
#

when i excluded it it was fine

#

not big deal tho

#

+10kbytes

#

couldve been worse

wet breach
#

not sure how minimizing something that doesn't really have a GUI component to it by default

eternal night
#

minimize breaking shit is rather common

#

well

#

not common

#

but like, any form of string based class lookup just tends to fail

#

which is a somewhat common thing, e.g. slf4j logger implementations

onyx fjord
#

just exclude smaller dependencies

wet breach
#

what did you expect?

grim hound
#

mmm

#

can't you just turn a blind eye?

#

pleeasseee I neeed their apiiii

onyx fjord
#

for what

remote swallow
#

look on their docs

#

its on it

grim hound
onyx fjord
#

such as

grim hound
onyx fjord
#

and that is?

eternal oxide
wet breach
#

just you know google them

grim hound
#

I mean Server

#

whatever

onyx fjord
#

lol what is that

grim hound
remote swallow
#

yo no way

#

look at that

#

i found it from googling

grim hound
remote swallow
#

click the link

grim hound
#

nor gradle

eternal night
grim hound
onyx fjord
#

then what

eternal night
#

my consolences to you lol

onyx fjord
#

ant?

remote swallow
#

you should use one if you cant manully browse a repo

onyx fjord
#

javac?

eternal night
#

intellij KEKW

#

or eclipse classpath

#

or something wild like that

whole portal
onyx fjord
#

gradle kotlin 😐

#

we all know groovy is superior

eternal night
grim hound
onyx fjord
#

for that specific case

eternal night
#

Well, people that don#t use a proper build tool usually end up with like

onyx fjord
#

i still demand gradle java

quaint mantle
grim hound
#

Maven builds 2 minutes and Gradle is decenlty difficult to operate

eternal night
#

using some scuffed IDE feature to manage their dependency

grim hound
#

the built-in IntelliJ gradle compiler is much faster

sterile breach
#

Hello

To send a plugin message from bungee, do the following
player.getServer().getInfo().sendDataMeassage()

And in the plugin to retrieve the message, it looks like this

onPluginMessageReceived(String channel, Player player, byte[] bytes)
{

The "player" function parameter seta a random player?

remote swallow
#

lmfao

#

its javac probably

onyx fjord
#

isnt everything a wrapper for javac

#

p much

eternal night
remote swallow
#

pretty much

eternal night
#

Not that the paper docs have like, a near copy paste gradle example skully

onyx fjord
#

rare paper moment

eternal night
#

anyway, epic already linked you the maven repo. Manually download the jar and suffer while downloading new api jars whenever you find out you cannot use a recently merged feature KEKW

eternal night
#

He made it to the paper discord

tribal flare
#

I have a command that begins a Conversation with a player, how can I cancel that conversation whenever the player issue the command again?

grim hound
#

Who does that?

remote swallow
#

does what

eternal night
#

hm ?

remote swallow
#

is the link not direct enough for you

grim hound
#

use unstable features

eternal night
#

unstable ?

sterile breach
onyx fjord
#

what

remote swallow
#

how are they unstable

#

they wouldnt be merged if it was unstable

grim hound
eternal night
#

idk if bungee api selects a random player on a server

quaint mantle
#

Looking for a config developer, if you're interested shoot me a DM

wet breach
#

plugin messaging requires a player to be on the server you wish to communicate to

wet breach
#

at this point they just want to be shown everything let alone from the spigot discord lol

eternal night
#

i-

sterile breach
wet breach
#

you have to pick a player to send it through

remote swallow
sterile breach
wet breach
#

its not

#

they just didn't show you where they obtained the player object

sterile breach
#

I think I misunderstood something

wet breach
#

you can send a plugin message using any player you want

eternal night
wet breach
#

just as long as they are on the server you want to send a message to or from lol

#

and the proxy will respond using the same player connection you used

#

you can use multiple plugin message channels as well

#

but each one is different to the player connection

dusk cipher
#

Hi, Im trying to get the name of the item I've renamed in an Anvil Inventory but the item is always null:

private void anvilRenameClickEvent(InventoryClickEvent event) {
        org.bukkit.entity.Player player = (org.bukkit.entity.Player) event.getWhoClicked();
        if (event.getClickedInventory() == null || event.getClickedInventory().equals(player.getInventory())) {
            return;
        }
        if (event.getView().getTitle().contains("Pet rename")) {
            Inventory clickedInventory = event.getClickedInventory();
            Inventory anvilInventory = (Inventory) clickedInventory;
            ItemStack resultItem = anvilInventory.getItem(2);
            if (resultItem == null || resultItem.getType() == Material.AIR) return;
            ItemMeta clickedMeta = resultItem.getItemMeta();
            Player playerInGame = game.getPlayer(player);
            if (playerInGame == null) return;
            Bukkit.getLogger().info("item: " + clickedMeta.getDisplayName());
            event.setCancelled(true);
        

did i miss something ?

lost matrix
#
        Inventory clickedInventory = event.getClickedInventory();
        Inventory anvilInventory = (Inventory) clickedInventory;

smileybolb

sterile breach
dusk cipher
#

mb

remote swallow
#

or use the anvil prepare item event

lost matrix
#

Yeah, if you dont want dynamic editing while using the anvil but static behavior when
adding ingredients then use the prepare event

dusk cipher
sterile breach
#

anvil prépare event is when a player put his item into the first anvil slot ?

remote swallow
#

no its called when an item is modified and the server is now creating the result

#

eg renaming an item

wet breach
#

not sure why you are not understanding that

#

you have to choose a player that exists and is online to use their connection to send a plugin message. Neither the proxy or the spigot server will choose for you. That is something you supply. In regards to listening to plugin messages you don't need a player as its just listening for a specific packet type, but anytime a plugin message is sent or when the server or proxy automatically responds it uses the same connection it came from

kindred sentinel
#

Help, how to check if the item is in the hands? I can't understand how to check it even using InventoryClickEvent

#

InventoryClickEvent fires before the item is in the slot or vice versa, it will not be in the slot

lost matrix
wicked totem
#

how would i change the color of someone's display name so it works in chat? chat color was working in previous versions but now only seems for work for me in tab

lost matrix
#

Actually, this might be fired on pickup and inventory click as well.
Test it out. Maybe you only need this event.

sterile breach
eternal oxide
#

it doesn;t matter which player the message comes in on.

#

PMC from bungee to the server has data. thats all you shoudl need

dusk cipher
#

The anvilPrepareEvent doesn't work when the inventory is manually created in code :/

eternal oxide
wet breach
#

it comes from somewhere

#

you have to obtain the player object you want to use for the plugin messaging

dusk cipher
#

I've tryed with Inventory click but the item slot 2 is null

eternal oxide
#

A fake anvil has no logic. you have to do everything (I believe)

sterile breach
kindred sentinel
tender shard
#

that's why he said that it's one of the events and not the one and only

lost matrix
lost matrix
#

This event mainly covers when a player scrolls between slots or uses 0-9 keys

kindred sentinel
wicked totem
#

does anyone know how to change a display name's color? chatcolor was working in older versions but since ive updated to 1.20 ive been getting errors when typing in chat

kindred sentinel
#

I have problems only with changing item in slot by using inventory

kindred sentinel
#

everything else like dropping, picking up, swapping i have already done

wicked totem
#

i can send more detailed in a sec

#

let me run it again

lost matrix
kindred sentinel
lost matrix
wicked totem
kindred sentinel
#

I was trying something like

        ItemStack item = event.getCursor();
        if(item.getType().isAir() && clickedSlot == chosedSlot) {
            clearTimeMark(mainHandItem);
        } else if (!item.getType().isAir() && clickedSlot == chosedSlot){
            addTimeMark(item, "time");
        }

But it's working too weird

kindred sentinel
lost matrix
#

Alright. How scalable do you need this to be?

kindred sentinel
#

I just need to change item's meta if item is in hand/isn't in hand

lost matrix
# kindred sentinel In what sense?

Amount of players using this concurrently. If you dont need to support hundreds of users
then i would do a simply check which is a bit more expensive but easy to implement.

kindred sentinel
# lost matrix Why?...

I don't know, i'm just trying to do some difficult plugins in order to learn everything, now i have this task

lost matrix
#

Ok but what is the purpose of changing the items meta when its in a players hand?

kindred sentinel
lost matrix
# kindred sentinel I want to do something like if player get item in his hand and he has in other h...

I would just go the simple route and always check the slot after a player clicked anything...

  @EventHandler
  public void onClick(InventoryClickEvent event) {
    Player player = (Player) event.getWhoClicked();
    ItemStack currentItem = player.getInventory().getItemInMainHand();
    Bukkit.getScheduler().runTask(this.plugin, () -> checkHeldItem(player, currentItem));
  }

  private void checkHeldItem(Player player, ItemStack previousItem) {
    ItemStack mainHandItem = player.getInventory().getItemInMainHand();
    if(mainHandItem.equals(previousItem)) {
      return;
    }
    if(mainHandItem.getType().isAir()) {
      return;
    }
    PersistentDataContainer container = mainHandItem.getItemMeta().getPersistentDataContainer();
    // Do some PDC tag checks and apply changes
  }

Then spam click around and check if it comes up in the timings.
Should be fine.
Its not too hard covering all actions for main hand item swapping but it is
tedious to implement.

kindred sentinel
#

One moment

kindred sentinel
undone axleBOT
kindred sentinel
#

Sorry i'm too stupid

lost matrix
#

Wait is this method in your JavaPlugin class?

sage patio
#

doing this: meta.addAttributeModifier(Attribute.GENERIC_ARMOR, new AttributeModifier("NoProtection", 0.0, AttributeModifier.Operation.ADD_NUMBER));
causes this:

#

how can i remove those texts?

#

just clearing the lore?

silver robin
#

EntityMetadata packet and data watchers

sage patio
#

how

silver robin
lost matrix
#

Or add the item flag to hide attributes

#

sniped

silver robin
#

^

sage patio
#

thanks

kindred sentinel
lost matrix
#

Then your JavaPlugin instance is referred to as this

kindred sentinel
lilac dagger
#

if you hide those you lose the armor actual bonuses

lost matrix
#

I think he wants that

sage patio
#

yea

kindred sentinel
lost matrix
#

Then look at the dependency injection tut

kindred sentinel
remote swallow
#

its an example

#

modify it to what your code looks like

ocean hollow
#

no one knows why an idea consumes so many resources and lacks it? every day I have an idea that hangs 5-10 times, saying that it has little RAM, and constantly rolls back when restarting

eternal oxide
#

Thats IJ for you

#

or more likely the Minecraft plugin

kindred sentinel
#

omg i'm too stupid for this

silver robin
kindred sentinel
#

oh ok

silver robin
# silver robin don't make it final

don't make it final i'm assuming you put plugin = this in the onEnable method in your main class, do use final if you're putting your plugin variable somewhere else

chrome beacon
#

If something's broken step 1 is to remove mcdev

kindred sentinel
#

I got an error

constructor events in class org.warrio38.mc.myproj.events cannot be applied to given types;
  required: org.warrio38.mc.myproj.MyProj
  found:    no arguments
  reason: actual and formal argument lists differ in length
dusk cipher
tender shard
#

idk my IJ only uses 2.3 GB and I got 5 projects open or sth

#

with mcdev plugin disabled ofc

tender shard
#

you declared your constructor to take in one parameter of type MyProj but you didnt pass any parameter

twilit roost
#

can I use brigadier on BungeeCord?

kindred sentinel
#

sorry

tame wolf
#

Is there a class that freezes things? aka makes snow and freezes water

tender shard
#

wdym "is there a class"

rotund ravine
tame wolf
#

Nvm me I'm new to the terminology of java

#

O

#

Thanks

rotund ravine
#

Not even World woops

#

setType on a block

kindred sentinel
tame wolf
#

How would I go on getting a circle of blocks around a point?

rotund ravine
#

Mathhh

#

You can probably google how to create a circle around a point in 3d

silver robin
#

and not an angled ring of blocks mid air

tender shard
#

or the lazy way and get all blocks in a square / cuboid and then use distance or distanceSquared to only get those that are actually within the circle/sphere

rotund ravine
#

?nocode

undone axleBOT
#

It’s hard to answer a programming question without code
Oh no! You ran into a problem. But no worries, people are willing to help, but first they need to see your code. This is because otherwise, they would be providing help based on guesses instead of concrete knowledge. Whether it be a compile error, runtime error, or an unexpected output, I'm sure that if you were to provide code, you'd receive a quick solution.

tender shard
#

Material.WALL_TORCH

kindred sentinel
rotund ravine
#

then ping the hell out of the guy who makes the commands

#

then he adds em

silver robin
kindred sentinel
rotund ravine
#

I gave up on datawatcher ages ago

grim hound
#

isn't the bukkit scheduler like... decently unoptimized?

lilac dagger
#

why do you think so?

grim hound
#

cuz like

mortal hare
#

bukkit scheduler is fine

grim hound
#

yeah it's fine

#

but like

#

why does it order tasks every time a task is added?

lilac dagger
#

i don't think it reorders tasks everytime

grim hound
#

and then the cancelTask method creates a new task

lilac dagger
#

it most likely has a treemap

grim hound
#

all the main objects

tame wolf
# tame wolf yup!

What I want to do is basically freeze water (yes on the y axis) and make snow on the surface (only x and z)

grim hound
#

the decompiled version

remote swallow
#

CraftScheduler

#

not bukkit

#

its craftbukkit

grim hound
#

whatever

lilac dagger
#

it creates a task to delete some leftovers

remote swallow
#

but it looks fine to me

grim hound
#

it executes this method

#

on each task execution

lilac dagger
#

it's alright

#

you can tell it does some cleanups

grim hound
#

yeah, but is all of this necessary?

sullen marlin
#

I mean hey, if you want to improve it, go ahead

grim hound
#

I mean, yeah I'll try

sullen marlin
#

But threading is complicated and the scheduler is pretty carefully designed to provide strong guarantees about how threading behaviour works

lilac dagger
#

if you do wanna improve it make sure you don't create new bugs

sullen marlin
#

Particularly in respect of sync tasks and their interaction

grim hound
#

like wouldn't simply synchronizing on a lock object make it thread-safe?

sullen marlin
#

Why does locking make it better

lilac dagger
#

it locks for the first to get access to it

grim hound
sullen marlin
#

Entire things such as ConcurrentHashMap (which is a beast - check out the source) exist to prevent locking

sullen marlin
#

No hash maps are pretty simple

#

ConcurrentHashMap is not

grim hound
#

like how the hell the devs even tell what's going on

sullen marlin
#

Can't you just synchronise on a lock object 😉

silver robin
kindred sentinel
#

Is there a way to make a entity stop moving its head without turning off the AI?

silver robin
pale hazel
#

Does InetSocketAddress returnt the IP address of the server?

grim hound
kindred sentinel
grim hound
#

also why not?

sullen marlin
grim hound
#

Doesn't it prevent any interaction until the other methods have finnished?

pale hazel
#

getAddress()

sullen marlin
#

What class....

grim hound
pale hazel
#

Nevermind it returns the IP address of the player

#

Gets the socket address of this player
Returns:
the player's address

grim hound
#

yeah that was decently obvious

silver robin
grim hound
#

like what is thisssssss

tender shard
#

to get the server's ip, as already mentioned, you gotta query some whats-my-ip api, e.g. amazon or whatever. after all you can never know the IP, the server could have hundreds of IP addresses

    @Nullable
    public static String getIp() {
        try {
            final List<String> answer = downloadToStringList("http://checkip.amazonaws.com");
            if (answer.isEmpty()) return null;
            return answer.get(0);
        } catch (final IOException e) {
            return null;
        }
    }```
sullen marlin
pseudo hazel
#

the reason you dont understand it is because all you see are some random letters instead of approaching it like a logical program

#

you start by the parts you do know

pseudo hazel
#

and then go from there narrowing down what each line does

#

granted some comments would have sped up the reading process but maybe this isnt the actual source code but just a reconstructed version of it

#

idk

wet breach
#

like if you don't understand progamming in depth, you can't really dive into mutlithreading expecting to magically simplify something lol

pseudo hazel
#

well thats true

#

but saying you dont understand something because of a lack of trying doesnt help either

grim hound
#

oh md_5, maybe you'll know (cause you like created all of this): Is there a way to perform a teleportation asynchronously? If not, is there a way to set (not change, but rather set) the main location the players will spawn in by default when it's in another world?

wet breach
#

yeah if you want to learn it or understand it, have to start somewhere I suppose

pseudo hazel
#

probably a good place to start understanding this is trying to find out where the function is called and what the arguments mean

wet breach
hallow aurora
#

Im searching people to test my plugin, what channel is correctly? this channel or help-server or general?

wet breach
#

and test it

grim hound
hallow aurora
wet breach
#

Maybe I should have clarified, chunks would need to become thread safe but if you set out to do that might as well make them load in a multithreaded fashion since its about the same amount of work

#

its not about if the chunks are loaded or not, its about the objects in the programming

grim hound
#

so you can't teleport a player async?

fathom oak
#

hi, im OP of a aternos server, and i cant break blocks....
all was working until i installed a skin plugin
d
https://prnt.sc/FmkIemxQ4_9A plugins

grim hound
#

seems

#

to be the issue

rotund ravine
#

@grim hound How do you know that based on that message?

grim hound
#

simply guessing

fathom oak
remote swallow
#

give no answer rather than a wrong one

rotund ravine
grim hound
#

it's probably not the issue

#

but try it

fathom oak
#

ok

wet breach
fathom oak
#

i already did

grim hound
#

hmm

#

do you have op?

tender shard
#

can you please stop this "i cant break blocks" discussion and move to the correct channel

#

especially after you asked this question in 3 different channels

fathom oak
grim hound
#

isn't it just lag then?

hallow aurora
#

I'm looking for people to test my plugin, is this the right channel to ask?

river oracle
#

no

#

why not test it yourself if your confident it works release it publicly and have a place for bug reports

hallow aurora
hallow aurora
tall dragon
#

well when you release it people will probably give you feedback

#

and u can just update it

wet breach
#

there is no easy way to answer your question in a way that you would really understand

hallow aurora
wet breach
#

this is one of those where you need to learn more about programming

#

to really understand

grim hound
grim hound
#

also isn't the main issue of teleporting a player async the PlayerTeleportEvent being invoked async thus throwing an error?

rotund ravine
#

No

#

That's the lowest issue of them all

wet breach
#

No, it has to do with the objects. Like entities to include players, locations, chunks etc

#

those are all not thread safe

grim hound
wet breach
#

You probably need to research more into multi-threading and the issues that arise from it

#

it may solve some problems, but it will introduce new ones as well

remote swallow
grim hound
grim hound
#

I'm just asking whether it's possible to execute a teleport asynchronously

remote swallow
#

it isnt

#

if you want to tp someone asnyc you would need to do the same thing as folia pretty much

tender shard
#

well paper also has async TP and paper isn't folia

tender shard
#

no

grim hound
#

confused.

tender shard
#

it's not possible on spigot

remote swallow
#

folia modifies the server software

#

heavily

slender elbow
#

so does paper

river oracle
tender shard
#

yes

grim hound
#

so teleportation on paper & folia > on spigot

river oracle
river oracle
tender shard
#

paper has a method Entity#teleprotAsync or sth

grim hound
river oracle
grim hound
#

no it's not

river oracle
#

multi threading everything is not good for the server

grim hound
#

teleport is not a task that must happen immediately

remote swallow
#

but its done on something that is single threaded

grim hound
#

and it's not always a light action

tender shard
#

feel free to rewrite spigot to use async chunk loading (and PR it), then you can also do async TPs on spigot

tender shard
#

yeah in that case this discussion is pointless

rotund ravine
#

It's just max priority on chunk loads

#

and tp once everything is laoded

grim hound
#

how can I invoke the async tp on paper? Does paper create custom entity objects or something?

tender shard
#

well it'll never be instantanous if chunks need to be loaded

remote swallow
rotund ravine
#

@grim hound go ask paper 😜

tender shard
#

on spigot it uses normal spigot stuff and on paper it uses their async stuff

fathom oak
#

who can help mee

rotund ravine
#

Chuty

river oracle
slender elbow
#

inb4 chunk system rewrite

river oracle
#

💀 ya'll did that

slender elbow
#

just one insane rat

river oracle
#

who wrote that lol

tender shard
#

Imho chunk loading is already blazingly fast on spigot if you dont run it on a potato

slender elbow
#

i wouldn't call it "blazingly" fast but sure

river oracle
#

I do think async chunk loading is beneficial I mean you should use what's there if you can

slender elbow
#

it certainly won't stall the server thread (unless something else is awaiting for a chunk to load ofc)

remote swallow
wet breach
#

leaf*

slender elbow
#

yes

river oracle
#

nope it was a rat :|

slender elbow
#

the rat king

remote swallow
#

a leaf rat

wet breach
#

I have never really had too much of issues with chunk loading except when I was handling like hundreds of players

#

if your server doesn't handle hundreds of players its a non-issue

river oracle
#

where's the frostalf async chunkloading pr :P

wet breach
#

I would rather not mess with mojangs code

#

their world generation stuff is a pain as it is

tender shard
river oracle
tender shard
tender shard
wet breach
timid hedge
#

It says that if (weaponType.name().equalsIgnoreCase("§aSTICK")) { will always be false, but how do i prevent that?

        Player victimPlayer = (Player) victim;
        Player attackerPlayer = (Player) attacker;

        ItemStack attackerWeapon = attackerPlayer.getItemInHand();
        Material weaponType = attackerWeapon.getType();

        if (attackerPlayer.hasPermission("vagt")) {
            if(weaponType != Material.STICK) return;
            if (weaponType.name().equalsIgnoreCase("§aSTICK")) {
tender shard
river oracle
#

?pdc

remote swallow
#

you have to use the display name

#

you were told this yeseterday

grim hound
remote swallow
#

but once again you refuse to listen

wet breach
#

got to love these new people who don't like listening XD

slender elbow
#

i mean async chunk gen or not, the difference is that it won't halt on the main thread

#

async does not mean fast

wet breach
river oracle
#

given you have lots of players ofc

#

it'd be less beneifical the less players you have

slender elbow
#

given that there is no api for async teleportation

river oracle
#

what's the obsession with async teleport anyways

slender elbow
#

what what

remote swallow
#

what what what

tender shard
grim hound
#

I NEED it

river oracle
#

I mean you can easily just join to the mainthread when you're done

wet breach
#

for what?

remote swallow
#

its your average "Lets make everything async"

tender shard
grim hound
#

that's a secret

remote swallow
wet breach
#

a secret?

grim hound
grim hound
river oracle
wet breach
#

not very good one it seems

remote swallow
#

have you signed an NDA over it

twin venture
#

is there a way to get the Player Time Zone?

river oracle
grim hound
#

it's a great idea

tender shard
#

well you can ask them

wet breach
dusk cipher
#

hi, when im trying to update scoreboard:

public void updateScoreboard(Player player) {
        objective.setDisplaySlot(DisplaySlot.SIDEBAR);
        objective.setDisplayName(ChatColor.AQUA + "" + ChatColor.BOLD + scoreboardTitle);

        SimpleDateFormat dateFormat = new SimpleDateFormat("E, MMM d");
        String currentDate = dateFormat.format(new Date());

        objective.getScore(ChatColor.GRAY + "     " + currentDate).setScore(11);
        objective.getScore("").setScore(10);
        objective.getScore(ChatColor.AQUA + String.valueOf(ChatColor.BOLD) + player.getPlayerName()).setScore(9);
        ...

        player.getBukkitPlayer().setScoreboard(scoreboard);
    }````
new lines appeares on prvious ... How to update totaly the scoreboard ?
remote swallow
river oracle
twin venture
#

my problem is :

chrome beacon
#

Was about to say...

twin venture
#

when i buy an item from the shop

#

it giving me the wrong date ..

grim hound
twin venture
grim hound
chrome beacon
river oracle
wet breach
tender shard
wet breach
#

since all IP's have geographic info attached

twin venture
#

<_>?

fathom oak
#

please help

river oracle
grim hound
river oracle
wet breach
grim hound
#

You can get longitude which is directly associated with the time zone

wet breach
#

except maybe querying the mc client in regards to locality

tender shard
# grim hound how so?

it claims i'm on the other side of the country. some geo IP dbs even used to tell me I'm in another country

grim hound
#

but some countries (like China) have one time zone for example, despite how large they are

wet breach
grim hound
twin venture
#

iam not trying to get the ip of players.. what iam trying to do is simple i guess

tender shard
grim hound
#

like no more than +/- 1 hour

twin venture
#

just put the time when player bought a item from shop

tender shard
wet breach
#

Yeah I don't think I disagreed with that lmao

#

however without user input there is not much else that can be done except querying the client locality to help further estimate XD

#

you need to have user input if you want accuracy

river oracle
# twin venture my problem is :

I'm going to give you some advice and I do really hope you take it. Dates suck, they suck really bad. If you want some kind of expirey system use a countdown like 1h 5d 12m 30s etc that ticks down when they look at it. Using dates is horrible. If you're worried about performance of such items use a date and provide a timezone too, but for gods sakes stay away from trying to make accurate dates you will be coding this until the day you die. And the day you die you're code still won't be good enough to cover all scenarios

tender shard
#

why not just use a bossbar / actionbar / toast message to display when the item expires

grim hound
remote swallow
remote swallow
grim hound
#

cuz of constant item meta updates?

mortal hare
#

yea dates suck

twin venture
mortal hare
#

its not that the java is broken

#

its the calendars and timezones we use are

grim hound
remote swallow
river oracle
grim hound
#

The server just uses it's local time, which can be different from the player's time

mortal hare
grim hound
river oracle
grim hound
#

nobody's stopping them, cuz why and how would they?

mortal hare
tender shard
#

I'd just only display "3 hours left", "~50 minutes left" etc in the lore and for the final countdown use a bossbar or toast message

grim hound
twin venture
grim hound
#

why they decided to have just one: no idea

grim hound
mortal hare
#

or you've probably used string append

#

yea

grim hound
#

am gonna go sleep

remote swallow
#

im going to bed, whoevers here later if <none> comes back tell them to learn java and dont give them support bc they just refuse to listen

river oracle
remote swallow
grim hound
#

Nice

river oracle
#

and its the sme answer every time idk what they expect

twin venture
#

well its getting the machine time zone

grim hound
#

It's 0:31 am for me

remote swallow
twin venture
#

so iam trying to make it get the time when player click on item in shop

river oracle
remote swallow
river oracle
#

the day isn't even a day long

#

23 hours, 59 minutes, 59.9997756

river oracle
#

😭

tender shard
#

imma go to bed now, gn8 everyone

twin venture
#

gn

chrome beacon
river oracle
#

😨 timezones there's nothing scarier in life than timezones

twin venture
#

so its that hard?

#

yeah?

remote swallow
river oracle
remote swallow
#

when he

river oracle
#

either make an ip look up request to determine the timezone of the player when they join
I also said this 😭 but i'd prefer he prevent all the pain

twin venture
#

but the countdown will not work , after server restart will it now?

remote swallow
#

Y2ks gf is secrelty bf real

twin venture
#

:p oky

river oracle
#

you'd save it on the item pdc as t he actual server time

#

and then translate it for the player to "their" time hopefully maybe probably not

#

my IP rn is from a timezone over lol

remote swallow
#

Is this 3 stable relationships in the spigot discord

river oracle
#

NBT still exists in 1.8

#

so he could persistently store NBT on the item

echo basalt
#

Nbtapi

tender shard
#

one would assume that 1.8 is so ancient, it didnt even have any animations so there'd be no problem in updating the lore every tick

river oracle
echo basalt
#

It didn't have models

tender shard
#

i think so, otherwise he could just update the lore every second to say "03:39 minutes left"

twin venture
#

Thank you friends , yes i got the idea and iam working on it , will give you an update when i finish

remote swallow
#

Way too many

echo basalt
#

Yo alex I might need your financial support

tender shard
#

huh

river oracle
tender shard
#

i wanted to go to bed lol

echo basalt
#

some idiot decided to throw a water bottle at my face and my glasses brokey

#

anyways I just burned like 95% of my savings on some new ones

#

And I got a bunch of stuff coming up next week

twin venture
#

if i update the item lore every second uhh , it kinda of weird

echo basalt
#

oh yeah it flashes

twin venture
#

yeah

echo basalt
#

it was full

slender elbow
#

of rocks

echo basalt
#

and it was one of the big 1.5L

#

and it hit right in the corner

twin venture
#

iam in the future now :

#

xDDDDd

zinc grove
#

Im trying to make a tablist plugin but the server isn't seeing the plugin, I pressed the green arrow in Intellij Idea and it compiled the plugin i think, and I put the jar file in the plugins folder but it doesnt see it

package figstablist.figstablist;

import org.bukkit.Bukkit;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.plugin.java.JavaPlugin;

public final class FigsTabList extends JavaPlugin implements Listener {

    @Override
    public void onEnable() {
        getServer().getPluginManager().registerEvents(this, this);

    }

    @EventHandler
    public void onPlayerJoin(PlayerJoinEvent event) {
        event.getPlayer().setPlayerListHeaderFooter("Welcome to My Server", "Have fun playing!");
    }

    @Override
    public void onDisable() {
        // Plugin shutdown logic
    }
}
remote swallow
zinc grove
#
name: Fig's TabList
version: '${project.version}'
main: figstablist.figstablist.FigsTabList
api-version: '1.20'
authors: [LitNotFig]
description: E```
river oracle
hazy parrot
zinc grove
#

1.20.1

hazy parrot
#

That would not work, as yaml would then be parsed as double

zinc grove
#
[WARNING] 
[WARNING] Plugin validation issues were detected in 3 plugin(s)
[WARNING] 
[WARNING]  * org.apache.maven.plugins:maven-compiler-plugin:3.8.1
[WARNING]  * org.apache.maven.plugins:maven-shade-plugin:3.2.4
[WARNING]  * org.apache.maven.plugins:maven-resources-plugin:3.3.0
[WARNING] 
[WARNING] For more or less details, use 'maven.plugin.validation' property with one of the values (case insensitive): [BRIEF, DEFAULT, VERBOSE]
[WARNING] 
#

that came after the compiling finished

hazy parrot
#

Console when you start mc server, not when compiling

zinc grove
#

my discord bugging out hold on

#

i cant send files here

remote swallow
#

ur not verified

zinc grove
#

hold on

remote swallow
#

?paste stuff if its text

undone axleBOT
wet breach
#

!verify

undone axleBOT
#

Usage: !verify <forums username>

hazy parrot
#

Don't send file, look for error on your plugin startup and send it with pastebin

#

?paste

undone axleBOT
zinc grove
hazy parrot
#

I'm sure you would come to solution yourself

zinc grove
#

i didn't think to read that file, i thought it was the same as what console shows during startup

#

ty

simple girder
#

Why am I getting such an error, can you help? Needless to say but I'm new btw =)

slender elbow
#

registerEvents

simple girder
#

🤦‍♂️

zinc grove
#

I'm trying to use placeholder api and it says to replace {VERSION} with the version at the top of the github, but its not working, it just keeps saying its not found.

<dependency>
            <groupId>me.clip</groupId>
            <artifactId>placeholderapi</artifactId>
            <version>2.11.3</version>
            <scope>provided</scope>
        </dependency>
echo basalt
#

Did you add the repo?»

zinc grove
#

yeah

<repository>
            <id>placeholderapi</id>
            <url>https://repo.extendedclip.com/content/repositories/placeholderapi/</url>
        </repository>
twin venture
#

i can't seems to find a fix xd?

#

i tried what you guys suggested

river oracle
twin venture
#

so if for example i bought it :
and the time was : 2:45 am
and in the item shop.yml config file the duration time was 1 hour , it should be added in lore as :
expired at : 3:45am ..

river oracle
twin venture
#

no ofc

#

its diffrent

river oracle
#

then it won't work no matter what you do unless you query IP's for general location

#

why do you keep trying this?

kind hatch
#

Why bother even doing that? Timestamp comparisions are all you need.

river oracle
#

I thought we were over this a hour ago

twin venture
#

any idea then??

#

should i do countdown , but countdown will reset when i restart the server ..

river oracle
kind hatch
#

Timestamps...

twin venture
#

iam using it

river oracle
twin venture
#

should i do setString insted? and set the formattedDuration?

ancient path
river oracle
#

adds an item

ancient path
#

Ok thank you

river oracle
#

can you not code?

ancient path
#

Not well

#

By not well I mean slim to none

kind hatch
# twin venture

All you have to do is store the timestamp, and then compare it when the player uses the item.
Or make your comparisions in a scheduled task (this would be less performant, but would be a bit more accurate if you wanted to remove the item at that time)

twin venture
kind hatch
#

What's the problem then? You have everything you need.

pale hazel
#

how do you post code properly in here

#

?

kind hatch
#

?codeblock

undone axleBOT
#

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() {

    }
}```
kind hatch
#

If it's really large

pale hazel
#

Sweet

kind hatch
#

?paste it

undone axleBOT
simple girder
pale hazel
#

How does broadcastMessage and sendMessage differ?

#

I know one sends to a player and then one sends to the server

#

the problem is I cant seem to broadcast an Entities location(x,y,z)

lost dagger
#

hey! im looking for someone interested in working with my to continue work on my op prisons server. im not sure if this is a good place to ask but i thought i would just try :) i had a developer but she quit before we had a polished product. i have the skript files of the unpolished product, so its half of the work done. we did a day of beta a month ago and had a solid 30 people playing and already wanting more, so theres money involved :) just let me know, dm me. serious inquiries only please!

livid dove
#

Wtf is a skript

sweet sonnet
#

minecraft skripting language

livid dove
#

Omfg

#

What?

lost dagger
#

the language she used, idk im not good with code

simple schooner
#

w

lost dagger
#

thats why im looking for help xD

#

i was front end she was back end but she just decided to stop lmao

sweet sonnet
livid dove
#

Send a small screenshot of a bit of it. I wanna see this 🤣

sweet sonnet
#

skript is also really unperformant

lost dagger
sweet sonnet
#

you'd be much better off using java

livid dove
#

I wanna see what this looks like lol

sweet sonnet
#

^

lost dagger
#

i cant send pics

livid dove
#

Can't leave us hanging now. I need pictures of spider skripterman

lost dagger
#

hahahah

#

hold up let me jverify

lost dagger
#

i cant send pictures :(

livid dove
#

Copy and paste some of it

lost dagger
#

function view_Crates(p: player, t: text):
if {_t} = "bronze":
create a gui with virtual chest inventory with 3 rows named "Bronze Crate":
make gui slot (all integers between 0 and 44) with black stained glass pane named "&7"
make gui slot 10 with paper named "&2$&a100M&f-&2$&a1B" with lore ("&7&o50%% Chance")
make gui slot 11 with paper named "&2$&a250M&f-&2$&a2.5B" with lore ("&7&o30%% Chance")
make gui slot 13 with sunflower named "&e10K&f-&e25K Tokens" with lore ("&7&o10%% Chance")
make gui slot 15 with sunflower named "&e25K&f-&e50K Tokens" with lore ("&7&o8%% Chance")
make gui slot 16 with tripwire hook named "&7Silver Crate Key" with lore ("&7&o2%% Chance")
open last gui to {_p}

#

thats a single crate code

lost dagger
#

is it bad?

#

HAHA

livid dove
#

I should apologise. No, it isn't bad. It is just that Skript, to my knowledge, isn't something widely used? At least not in spigot AFAIK.

We use the spigot api, which allows us to write plugins in java which is vastly different to what you have there.

lost dagger
#

that looks like gibberish

#

LMAO

#

the only coding ive done is basic html and the tiniest bit of java(to make easy things like blackjack and battleship)

#

and that was like 2 years ago xD

livid dove
#

I know next to nothing about skript. But you had the guts to roll into a server like this and ask for help after ur dev left u high n dry.

So whilst I'm legit to busy to help ya, and it goes against the norm in this channel, I dunno, I got a gut feeling ur a good kid.

So with that in mind:

First person to help this kid get an MvP of whatever functionality his prison server idea needs, I'll buy em a month of intelij ultimate 🤣😁

lost dagger
#

if this isnt allowed ill stop

#

just thought id throw the rock in and see the ripples 🤷

livid dove
#

It isn't, but I dunno I've been here nearly a year and u give off a good vibe. So yeah legit someone help this poor kid out 😅😁

lost dagger
#

i can go somewhere else its ok

#

(im not a kid btw LMAO)

#

just new to this world

lost dagger
#

dont get anyone anything xD

sweet sonnet
#

OSS licences are free for the user if they have an open source project

#

why not just use a crate plugin

livid dove
#

Or is it legit one singular open source needed. That sounds waxk

lost dagger
sweet sonnet
zinc grove
sweet sonnet
#

it should only be used for simple command imo

lost dagger
zinc grove
#

how are the other servers doing

#

do they have performance issues?

lost dagger
#

good. ones made 500 in the last week

#

not really

zinc grove
#

interesting

lost dagger
#

not prisons, the one she pours most of her time into is a gen server

zinc grove
#

gen server?

lost dagger
#

yeah

zinc grove
#

im dumb whats that

lost dagger
#

like a idle tycoon type thing

lost dagger
#

with other aspects but

quaint mantle
#

Hey Guys, Im working on 1.20.1 And WIth NMS Reflection.
And I want to spawn a armorstand with my reflection code
But I don't know how create a constructor of it.

The reference is below
https://mappings.cephx.dev/1.20.1/net/minecraft/world/entity/decoration/ArmorStand.html

Below is a normal code without reflection

   CraftPlayer craftPlayer = (CraftPlayer) player;
            PlayerConnection playerConnection = craftPlayer.getHandle().c;
            Location location = player.getLocation();
            WorldServer worldServer = craftPlayer.getHandle().d.D();
            EntityArmorStand entityArmorStand = new EntityArmorStand(worldServer, location.getX(), location.getY(), location.getZ());
            PacketPlayOutSpawnEntity packetPlayOutSpawnEntity = new PacketPlayOutSpawnEntity(entityArmorStand);

            playerConnection.a(packetPlayOutSpawnEntity);

And Here's My reflection code


 Object nmsPlayer = p.getClass().getMethod("getHandle").invoke(p);

            Class<?> test = ReflectionUtils.getClass("net.minecraft.world.level.World");

            Object minecraftServer = nmsPlayer.getClass().getField("d").get(nmsPlayer);
            System.out.println(minecraftServer);

            Object plrConnection = nmsPlayer.getClass().getField("c").get(nmsPlayer);
            System.out.println(minecraftServer);

I want to know how to get the method from this nmsPlayer.getClass().getField("d")
And I wonder is it the same thing between (This returning entity player from reflection) Object nmsPlayer = p.getClass().getMethod("getHandle").invoke(p) and CraftPlayer?

solemn frigate
#

im trying to make a bungeecord motd plugin for my server which shows random motds & accurate player counts. the plugin seems to work fine with no errors in the console and the correct motd information comes up when i ping my server with minecraftpinger.com. but, when I use an actual client to view the motd, it says "Can't connect to the server" in dark red instead of the motd. i can join the server just fine, just cant see the motd. if someone can look over my code to see if any of it is breaking clients that would be much appreciated 🙏 https://paste.md-5.net/tivuxanocu.java

livid dove
livid dove
buoyant viper
#

bros never heard of an inner class

solemn frigate
#

im kind of a java noob

#

i just pasted that part of the code from somewhere

#

💀

zinc grove
#

It says "Dependency 'me.clip:placeholderapi:2.11.3' not found", did i do this right?

buoyant viper
#

i was about to say id give a kudos for knowing how to use inner classes but

buoyant viper
zinc grove
#

how do i do that

buoyant viper
#

if ur on intellij theres a Refresh icon that normally pops up when u edit pom.xml, otherwise press Maven in the right side of the screen and press the Refresh icon (above the projects name)

#

if ur on eclipse-- idfk, havent used it in like over 7 years

zinc grove
#

Im using intellij but going to maven and refreshing from there worked

#

ty

buoyant viper
#

yeah normally this little buddy pops up when u edit pom.xml

buoyant viper
#

or u can use this one :P

lost dagger
#

i meant you don’t have to pay them anything

solemn frigate
buoyant viper
#

or however ur getting classes, thats how u would provide MinecraftServer.class

livid dove
buoyant viper
#

sometimes it just makes sense to do inner instead of a whole new file :P

livid dove
buoyant viper
#

LOL

buoyant viper
livid dove
#

Huh neat

zinc grove
#

Is there documentation for this, idk if I would search paper, spigot, or maven or smth else to find it

buoyant viper
#

nothing fancy :P just to not have a shit ton of boilerplate for myself

zinc grove
#

like plugin making

#

like unity has unity docs

buoyant viper
#

theres docs on https://spigotmc.org and https://papermc.io for making plugins yes

zinc grove
#

ok

#

ty

buoyant viper
#

?jd for spigot javadocs

livid dove
pastel plume
#

Hello there. Not sure if this or help-server is better for this question. Ive found alot of mixed answers about this question and figured here is the best place to ask it. I was looking into mixing my bungeecord network with forge and vanilla servers. Is this a supported thing or no? If its not is there a way to actually do vanilla and forge?

livid dove
buoyant viper
livid dove
#

Sorry mb I just thought I'd also copy your message like how you copied it verbatim from ur other post in server help

#

Just be patient and someone who knows well help u out

pastel plume
#

ok, only reason I copied was I wasnt sure which channel to put it in

buoyant viper
#

if its related to code you wrote, or are trying to write-- #help-development
if its related to a plugin (or just general server config) on spigot or bungee-- #help-server

pastel plume
stuck flax
#

Is it possible to force the client to open the advancements menu

river oracle
#

I can't believe mojang ticks signs just to check if there is a player who is allowed to edit it 💀

public static void tick(World world, BlockPosition blockposition, IBlockData iblockdata, TileEntitySign tileentitysign) {
    UUID uuid = tileentitysign.getPlayerWhoMayEdit();

    if (uuid != null) {
        tileentitysign.clearInvalidPlayerWhoMayEdit(tileentitysign, world, uuid);
    }

}```
#

bro legit could do this in the getPlayerWhoMayEdit() call muh CPU cycles 😭

quaint mantle
river oracle
#

probably will eventually, but I have other sign PRs I'm doing in the same class and I don't feel like fixing merge conflicts

river oracle
viscid ginkgo
#

im quite new to java and i've googled and done all that so i thought coming to spigot might be of help

#

Could someone give me an idea of what could be causing this java.lang.StringIndexOutOfBoundsException: begin 76, end -1, length 108

river oracle
#

send the full error

#

?paste

undone axleBOT
viscid ginkgo
river oracle
#

the code is trying to get an index in the string that doesn't exist in this case ig you're trying to get a -1 which wouldn't be an index as indexes start at 0.

river oracle
viscid ginkgo
#

not

#

oh it might be cus my obfuscator

#

or smth

#

lemme try the non obfuscated one rq

river oracle
#

don't

#

its pointless and a waste of everyones time

viscid ginkgo
#

lmao

#

nvm i figured it out

#

its my authentication class

river oracle
#

always wonder why people obfuscate their code are you affraid someone is going to see how poor your code is

young knoll
#

Yes