#help-development

1 messages · Page 1899 of 1

young knoll
#

Well you are teleporting them yourself aren’t you

#

Or are they using enderpearls or whatnot

wary harness
#

werll trying to use other plugin command

#

like essentials

#

spawn

young knoll
#

Mm

wary harness
#

s

young knoll
#

I find it weird the event is fired

wary harness
#

@EventHandler(priority = EventPriority.LOWEST)
public void onTeleport(PlayerTeleportEvent e){

    Bukkit.broadcastMessage("teleport");
}
#

I listen on lowest priority

#

and listner class is registered

#

I think I will need to to whole thing with NMS and PAckets

#

to many problems

#

like passenger dismounting in water

#

not been able to tp

spare prism
#

Is there a way to check if there is not enough space for the text in a book page?

#

@ivory sleet

spiral light
spare prism
spiral light
#

Try And yee

#

?google

undone axleBOT
spiral light
dense geyser
#

If a server is in whitelist mode, is a whitelist kick calculated before or after asyncplayerloginevent

spare prism
fallen grove
#

Is it okey if I release a plugin as a paid resource that hooks to mcmmo and adds a bunch of features? It will do nothing without mcmmo though.

#

or is it against TOS?

young knoll
#

Pretty sure that’s fine?

#

@vagrant stratus?

#

Actually wait

#

Is McMMO an addon or a requirement

eternal oxide
#

So long as you are not distributing McMMO it would be fine.

young knoll
#

Because if it requires McMMO then no

#

But if having McMMO just adds more functionality then you should be fine

eternal oxide
#

He's talking about his being an expansion for McMMO.

#

His would not work without McMMO

young knoll
#

You can’t do a premium addon for a premium plugin

eternal oxide
#

You can't? Seems odd

young knoll
#

People abused it

fallen grove
#

Then I would need to add further functionality so that the plugin does other stuff besides adding stuff for mcmmo? then it would be okey?

eternal oxide
#

ah

fallen grove
#

hhhmmm

quaint mantle
young knoll
#

Hey you wanna buy 500 expansions for &2 each

fallen grove
eternal oxide
#

Suprize mechanics

#

Left side body animations $10. Right side body animations $10.

dense geyser
#

Ability to move $30

young knoll
tacit drift
#

How should i extract milliseconds from 5w3d1h

#

so that i would get the number of weeks days and hours from that string

quaint mantle
#

By writing a parser

tacit drift
#

well yeah

#

though of regex, but have no idea on how to do that

tacit drift
#

thanks

quaint mantle
#

This one will allow duplications like
5h5h3m33m but idk if thst necessary

tacit drift
#

that's a lot more cleaner

quaint mantle
#

but slower 🌞

tacit drift
#

it's for something that executes once, so no need for speed

quaint mantle
#

okok

eternal oxide
#

test it and see for yourself

dense geyser
#

I can't, im sorta doing psuedocode planning rn, was hoping someone knew off the top of their heads

late sonnet
#

@gentle oriole @young knoll Well nms work very funny for get the values xd

but not sure how this values its acurance

ivory sleet
#

Oh that’s quite interesting

young knoll
#

Huh so mining fatigue above 3 does nothing

#

Well, nothing additional

late sonnet
#

yeah 3 its like default

#

i have the feeling the method its not for progress...

gentle oriole
#

deprecated?

#

my brain is also too weak to understand nms, so ill just wait for jira to update

lethal knoll
#

Is there an API that exposes the ratings being given on plugins?

gentle oriole
#

i dont think there is

lethal knoll
#

yea, scraping is not gonna work, I did that once but eventually the bot gets banned anyway

young knoll
#

spiget

gentle oriole
young knoll
#

Scrapping is against the TOS

gentle oriole
#

nvm there is no rating system in curseforge/bukkit

#

no scrape!

gentle oriole
late sonnet
#

yeah i have the same question

#

i test the method and dont see changes when break the block.. only the change when the block is AIR

gentle oriole
#

can I see ur code?

late sonnet
#
public class SPIGOT6906 implements Listener {

    private static HashMap<UUID, BukkitTask> tasks = new HashMap<>();

    @EventHandler
    private void onMining(PlayerInteractEvent event) {
        final Player player = event.getPlayer();
        if (event.getAction().equals(Action.RIGHT_CLICK_BLOCK) && event.getClickedBlock() != null) {
            Block block = event.getClickedBlock();
            if (tasks.containsKey(player.getUniqueId())) {
                tasks.get(player.getUniqueId()).cancel();
            }
            BukkitTask task = Bukkit.getScheduler().runTaskTimer(Core.instance, () -> {
                Block updateBlock = player.getWorld().getBlockAt(block.getLocation());
                float v = updateBlock.getBreakSpeed(player);
                ((CraftPlayer) player).getHandle().b.a(new net.minecraft.network.protocol.game.ClientboundSetActionBarTextPacket(CraftChatMessage.fromStringOrNull("Progress in [" + updateBlock.getType() + "]: " + v)));
            }, 0L, 1L);
            tasks.put(player.getUniqueId(), task);
        }
    }

}
quaint mantle
#

Why would you use packets for actionbar

late sonnet
#

this plugin i use when make PR.. then use craftbukkit and not spigot

gentle oriole
#

it is supposed to change right

#

because it is progress

lethal knoll
lethal knoll
glossy venture
#

yo i dont know where to ask this but where can i find support for the CLA response
it said to contact staff after more than 24 hours of waiting

#

i think i submitted it correctly

#

the form

late sonnet
#

not sure how this works.. maybe you can find the contact button in the forum and ask (?

glossy venture
#

contact button?

#

oh nevermind

#

found it lmao

glossy venture
#

aight i sent a mail to tmp-support@spigotmc.org

#

is that the correct one

graceful turret
#

how to detect if player clicked space 2 time (double jump)

tall nova
#

You check if they jump twice

#

XD

quaint mantle
spiral light
quaint mantle
#

If players starts flyind, do the boost

ancient plank
#

kisten, that was my turtle's name

shy wolf
#

hello any one know why I get this Error?

glossy venture
#

did you define createjail in your plugin.yml

ancient plank
#

I'm dying reading this

glossy venture
#
# put this in your plugin.yml
commands:
  <commandname>:
    description: My Description
shy wolf
#

yes

#

i did

glossy venture
#

show the yml code

shy wolf
spiral light
#

its wrong

shy wolf
#

oh

#

right

spiral light
#

connamds ???

shy wolf
#

didnt see it

#

LOL

glossy venture
#

lmfao

tall nova
#

Lmao

sleek turret
#

LMAO

gentle oriole
#

LMAO

dusk flicker
#

LOL

hybrid ledge
#

What is the purpose of putting commands and permissions into your plugin.yml ? Especially when you create commands and require permissions dynamically?

young knoll
#

It allows them to be accessible

#

Luckperms can tab complete perms in the plugin.yml

#

Commands with a permission attached will automatically be hidden from players that don't have that permission

#

etc

gentle oriole
#

imagine breaking lmao chain...

hybrid ledge
#

Yeah so for me impossible because I make them dynamically. For example I have plugin for custom currencies which allows you to create ... well, custom currencies. And appropriate commands.
For example if you want to create currency "dollar", you can easily put it into config and it will generate commands and permissions for you... for example you can define /dollar top to show leaderboards or you can assign it to /baltop etc...
So for these cases of dynamic commands and dynamic permissions plugin.yml is not important for me. Right?

rotund pond
#

I don't think, but maybe you should manage all of spigot system for commands

#

Like tabcompleter etc

hardy swan
#

can you even create commands dynamically?

young knoll
#

Sure

hybrid ledge
#

You can listen for commands from chat and then react appropriately. I'm using Aikar Command Framework (ACF) for that.

young knoll
#

Many command libs offer this

hardy swan
#

ok libs

young knoll
#

I mean you can do it without libs

#

If you reallllly wanted to

hardy swan
#

but not meant to

gleaming grove
#

Why does Intelji can not find classes that actually are in my project?

#

my project is corrupted or what

hardy swan
#

plural

gleaming grove
hardy swan
#

or singular

#

hm

gleaming grove
#

plural, there are more classes

spiral light
#

try public static enum PianoTypes

hardy swan
#

there is nothing static about the outermost level class tho

gleaming grove
#

this is some kind of bug in Intelji that i can not fix

hardy swan
#

tried restarting it?

#

cleaning workspace

spiral light
#

what does More actions say ?

hardy swan
#

did you import lol

gleaming grove
hardy swan
#

import the class, not project

gleaming grove
hardy swan
#

show the whole file

#

from line 1

gleaming grove
hardy swan
#

there

#

you didn't import PianoTypes

#

where it is under a different package

gleaming grove
#

this is also not working, i've tried this

#

well

#

i think i found the problem, some fancy plugin i've installed to Intelji throws exception on Intelji open so my project could not be fully loaded

hardy swan
#

show full code of PianoTypes enum class

gleaming grove
#

i think that was the point, because after removing the plugin everything is working fine

hardy swan
#

well then

hybrid ledge
#

So that plugin broke indexing, right?

gleaming grove
#

i guess

hybrid ledge
#

Next time if that happens you should try to import the class manually and compile the project. This way you can find out whether it's just IntelliJ idea bug or whether it's the actual bug in your project configuration / classpath / whatever.

timid vale
#

Main.java

package com.santoxgaming.discord;

import com.santoxgaming.discord.commands.DiscordCommand;
import org.bukkit.plugin.java.JavaPlugin;

public final class Main extends JavaPlugin {

    @Override
    public void onEnable() {
        new DiscordCommand(this);
    }
}
#

DiscordCommand.java

package com.santoxgaming.discord.commands;

import com.santoxgaming.discord.Main;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

public class DiscordCommand implements CommandExecutor {

    private Main plugin;

    public DiscordCommand(Main plugin) {
        this.plugin = plugin;
        plugin.getCommand("discord").setExecutor(this);
    }

    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
        if (!(sender instanceof Player)) {
            sender.sendMessage("Only players may execute this command!");
            return true;
        }

        Player p = (Player) sender;

        if (p.hasPermission("default")) {
            p.sendMessage("https://discord.gg/imnotgonnaadvertisemydiscordserver");
            return true;
        } else {
            p.sendMessage("&cSomething went wrong! Please contact an Admin.");
        }
        return false;
    }
}
#

My plugin is not working? I can not see it on the server and /discord is not working either

young knoll
#

Did you know discord detects invites in code blocks

timid vale
#

Pls help

young knoll
#

Now you do

young knoll
#

Check startup logs

timid vale
young knoll
#

I find that suspect

timid vale
#

I mean.. Maybe I'm just blind

#

I don't really know what to look for. This is my first plugin ever. I started learning Java today

spiral light
#

Exceptions ^^

timid vale
#

Which one do I even use?

#

I have tried with both

quaint mantle
#

Both are pretty much the same, if you don’t shade - include any dependencies

timid vale
#

I don't know what that means

#

Sorry

quaint mantle
#

That means you don’t use <scope>compile<scope/>

#

In maven for each dependecies

worldly ingot
#

If you have the Maven Shade Plugin in your pom.xml, it's going to produce two jars. One with dependencies, one without

timid vale
#

Oh okay.

worldly ingot
#

Though on your first plugin you probably won't need any dependencies in the final jar, you can omit the Maven Shade Plugin entirely

timid vale
#
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.santoxgaming</groupId>
    <artifactId>discord</artifactId>
    <version>1.0</version>
    <packaging>jar</packaging>

    <name>Discord</name>

    <description>Discord link!</description>
    <properties>
        <java.version>1.8</java.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>3.2.4</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <createDependencyReducedPom>false</createDependencyReducedPom>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>
    </build>

    <repositories>
        <repository>
            <id>spigotmc-repo</id>
            <url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
        </repository>
        <repository>
            <id>sonatype</id>
            <url>https://oss.sonatype.org/content/groups/public/</url>
        </repository>
    </repositories>

    <dependencies>
        <dependency>
            <groupId>org.spigotmc</groupId>
            <artifactId>spigot-api</artifactId>
            <version>1.18.1-R0.1-SNAPSHOT</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>
</project>
#

This is my pom.yml

worldly ingot
#

Yeah you can get rid of the maven shade plugin

#
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>3.2.4</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <createDependencyReducedPom>false</createDependencyReducedPom>
                        </configuration>
                    </execution>
                </executions>
            </plugin>```
#

All of that can be deleted

timid vale
#

Okay, it is deleted now

worldly ingot
#

You'll only ever need that if there's a dependency you have that won't be available at runtime. Something like Hikari, or some other third party library not provided by the server. Though in this case, all you have is the Spigot API which is already there

timid vale
#

Okay

#

Will this fix my plugin? :)

worldly ingot
#

Missed the reason it was broken. What wasn't working with it?

timid vale
#

I don't know. I don't get any errors on server restart

#

The commands just isn't there. And I can't see my plugin in /pl either

worldly ingot
#

Likely something at the start of your server log then. Or it's not actually in your plugins folder ;p

#

Do you have a plugin.yml, and in that file do you register your command?

worldly ingot
#

Also, p.hasPermission("default") probably isn't doing quite what you want. They're going to need to have the permission node "default". This has no concept of groups from something like LuckPerms

#

What's your plugin.yml look like atm?

timid vale
#
name: Discord
version: '${project.version}'
main: com.santoxgaming.discord.Discord
api-version: 1.18
authors: [ EmilHeinsen ]
description: Discord link!
hybrid ledge
#

When creating clickable chat text via BaseComponent[], can I bind some custom code that should run when clicked? Or is it only possible to bind specific commands?

worldly ingot
#

Usually people name their permissions as pluginname.command.commandname. So in this case, discord.command.discord, though ultimately it's up to you

#

Yeah so in your plugin.yml you're going to want to add an additional section. 1 sec

#

Scroll to the bottom there, there's a snippet of the plugin.yml

timid vale
#
commands:
   kit:
      description: Your description
      usage: /<command>
      permission: yourplugin.yourcommandpermission

This stuff?

worldly ingot
#

(the permission part is optional, but if the player doesn't have the permission set there, the command won't be sent to the client and they won't be able to run it. It's an automatic permission check)

timid vale
#

Okay

worldly ingot
timid vale
#

My plugin still isn't showed on the server? :(

hybrid ledge
#

Thanks Choco, yeah some artifical command framework was on my mind as well. Thank you

worldly ingot
#

No attempt to load it at all in the console?

#

Oh your main isn't correct

#

main: com.santoxgaming.discord.Discord. Your main class' name is Main, not Discord

obtuse ferry
#

No where I can find a solution to finding an itemstacks damage. Im seeing stuff about player.getAttribute(Attribute.GENERIC_ATTACK_DAMAGE) and stuff on itemInHand.getItemMeta().getAttributeModifiers(Attribute.GENERIC_ATTACK_DAMAGE)

timid vale
obtuse ferry
# gentle oriole Wdym

In PlayerInteractEvent I want the damage value of the current item in hand including enchants.

gentle oriole
obtuse ferry
gentle oriole
#

There's a EntityDamageEvent if youre interested in that

obtuse ferry
#

No I need it it PlayerInteractEvent like I say

#

Because Im basically making an aimbot custom enchant

gentle oriole
#

A solution would be to add an invisible entity infront of the player to calculate the damage

timid vale
#

My plugin is working now, thanks so much Choco

obtuse ferry
#

On left click I will damage entities in radius with the damage the sword would do including enchants

gentle oriole
#

Though I think it would be hard. Ray tracing and stuffs...

#

Wait. Can armorstands be hit when its completely inside the player's body?

#

If not, maybe an entity with a larger hitbox

obtuse ferry
#

There must be a way to get it from the itemstack

gentle oriole
#

You need to calculate the crits, the strong attack and the weak attack

#

An invisible pig would do I think

#

0.9 hitbox

#

Player is 0.6

#

Just tp the pig per tick at the player wh en it equips the sword

timid vale
#

What do I search when I want to find answers on my problems? I'm used to making Scripts with the Skript plugin, so I usually search "minecraft skript my problem"

spare prism
timid vale
#

Okay, thanks

gentle oriole
#

Why use skript? Just learn to code.. its not that hard

timid vale
obtuse ferry
timid vale
#

And I mean.. Skript is code

obtuse ferry
#

well

#

sort of

gentle oriole
#

Skript is code. Just english

obtuse ferry
#

So is every other high level language

gentle oriole
#

Ive read skript docs and its just like python

obtuse ferry
#

There must be a way to get that value

hasty prawn
#

Attributes

visual tide
#

what do vanish plugins do when the allow you to access chests? like your velocity is like in spectator and your hands dont show but you cant go thru walls

obtuse ferry
hasty prawn
visual tide
#

no

#

the second part is a description of what is visible and the question was how they do it

timid vale
#

How difficult is it, to make a plugin work with multiple version? Just a simple plugin that sends a message on a command (/discord)

hasty prawn
#

Like supporting 1.8 - 1.18.1?

timid vale
#

Yes

hasty prawn
#

It's not necessarily that difficult you just have to make sure you're only using API that exists in all versions.

timid vale
#

Okay

kind hatch
#

Those methods have existed since 1.7

timid vale
kind hatch
#

It would likely work for all versions.

hasty prawn
#

sendMessage will

kind hatch
#

If it's just a simple discord command.

timid vale
#

Cause I mean, I did download the spigot-1.18.1.jar, so maybe that would not work in 1.8.8

#

I just starting making plugins today, so I don't know much

kind hatch
#

Yea, most stuff won't, but sending messages will.

timid vale
#

Okay, thank you :)

quaint mantle
#

easy solution: don't encourage legacy software users

timid vale
#

Does color codes work just like "&b"?

#

And how do I use HEX color in Plugin?

kind hatch
#

If you need to add multi version support, you will have to learn a lot about how maven works and setting up multi module projects. Then you have to learn the discrepancies between server versions and what you have to call in what versions. It gets messy, but it's doable.

#

Color codes are usually handled by a method provided in the api. ChatColor.translateAlternateColorCodes();

timid vale
kind hatch
#

Hex codes are also handled by the ChatColor class, but you will have to use the #of(String hex) method to convert them.

hasty prawn
#

HEX won't work for some legacy versions of Minecraft.

#

Pretty sure it was added in 1.16

timid vale
kind hatch
#

So sending messages is as simple as getting an instance of the player and calling player.sendMessage("Hello there!");
If you want to send a colored message, you will have to translate the color codes. player.sendMessage(ChatColor.translateAlternateColorCodes('&', "&aHello there!"));

The first parameter is what character you want to use as your translator character. It can be any character, but everyone just uses the & symbol.

Also, if you want to use Hex color codes, they are only supported in 1.16 and above. I believe that the class will convert them to the closest color in older versions, but just keep that in mind.

timid vale
#

Okay, thanks! :)

muted sand
#

How do I make turtle eggs crack faster / just make every animal become an adult faster?
or would that be just random tick speed ._.

hasty prawn
#

Change their age for being an adult faster

timid vale
#
TextComponent message = new TextComponent("https://discord.gg/imnotgonnaadvertisemydiscord");
            message.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new Text("Click here to join our Discord server.")));

            p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&8[ &9&lDISCORD&r &8]"));
            p.spigot().sendMessage(ChatColor.translateAlternateColorCodes('&', message));
#

incompatible types: net.md_5.bungee.api.chat.TextComponent cannot be converted to java.lang.String

#

How do I use color codes in text components with HoverEvent

hasty prawn
#

Components have their own way of setting color

#

I think it's either setColor or color

timid vale
#

Would you give an example of how to use it?

hasty prawn
timid vale
#

Thanks

timid vale
#

We agree that this should work, right?

#

Cuase it's red...

kind hatch
#

Which import are you using?

timid vale
# kind hatch Which import are you using?

Quite a lot

import com.santoxgaming.discord.Main;
import net.md_5.bungee.api.chat.HoverEvent;
import net.md_5.bungee.api.chat.TextComponent;
import net.md_5.bungee.api.chat.hover.content.Text;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
waxen plinth
#

Wrong ChatColor

kind hatch
#

You need to use the net.md_5.bungee.api.ChatColor;

hasty prawn
#

You need net.md_5.bungee.api.ChatColor instead of org.bukkit.ChatColor

waxen plinth
#

Import the bungee one for that

timid vale
#

oh well.. I did not import it lol

#

But it should be imported it. I use that too

#

In a normal message, without a hoverevent

hasty prawn
#

Yeah, have to be careful with auto imports.

obtuse ferry
#

I used to use

Bukkit.getServer().getScheduler().runTaskLater(plugin, () -> {
  //code here
}, ticks);

But it doesnt seem to be working anymore whats the 1.18 version of this?

timid vale
#

huh?

kind hatch
timid vale
#

Riiight, that fixed my problem too

#

Deleting the org.bukkit.ChatColor

#

Thanks

#

Well now my entire line is red
TextComponent message = new TextComponent("https://discord.gg/stopadvertising").setColor(ChatColor.AQUA);

obtuse ferry
waxen plinth
#

setColor returns nothing

#

It's not a builder

hasty prawn
#

Kinda lame

timid vale
#

How to do it then?

waxen plinth
#
TextComponent component = new TextComponent("Stuff here");
component.setColor(ChatColor.RED);```
hasty prawn
#

Like that

timid vale
#

oh

obtuse ferry
#

why does Intellij suggest this?

waxen plinth
#

Because a location can have null as its world

#

I would just ignore it to be honest

#

Unless you are specifically constructing a location with null as the world you don't need to worry about it

#

Every location returned by the bukkit api will have a world

spiral light
waxen plinth
#

Haven't touched those

quaint mantle
#

hi all i need some math help, i'm trying to make a BlockParty plugin and im not totally sure how to make square patterns?

the idea is that you start with one block, add to its X and Z and that's the square.. like so:

⬇️Starting block
🟥🟥🟥
🟥🟥🟥 (one square)
🟥🟥🟥

The only issue is, i'm not sure how to do this... and i'm also not sure how to do the math, because i have 0 skill at math..

#

if someone could point me in the right direction, i could probably figure it out

#

i just dont know where to start

waxen plinth
#

You want to build a square?

quaint mantle
#

yes, i should have added with two corners

#

i want to make multiple squares out of two corner locations

#

so loc1 is X, Y, Z
loc2 is -X, Y, -Z (etc)

#

and from those, an amount of squares is generated, and set to a certain type of material

waxen plinth
#

You just need a 2d for loop

quaint mantle
#

idk how i should use that, should i google? willl i end up finding anything?

#

when it comes to me trying to find math solutions for java online, i can never seem to find anything

timid vale
#

Can someone help me setup Javacord with my plugin, so I can control my Discord bot from Minecraft?

tardy delta
quaint mantle
#

Hi there, I'm attempting to port some code from 1.16.5 to 1.17.1.

In doing so, I had to use the Spigot BuildTools for 1.17.1. I ran it with OpenJDK17.

However, when I attempt to extend classes or access enums, the variables are named alphabetically (a, b, cA, cB, etc.) instead of what they are supposed to be named and I do not know the mappings to the original variables.

Did I do something incorrectly with the installation of the buildtools? Many thanks.

#

I can link some pictures as an example for my problem.

spiral light
#

do you use maven ?

quaint mantle
#

I do indeed

spiral light
#

or did you just import random stuff from buildtools ?

quaint mantle
#
    <dependency>
      <groupId>org.spigotmc</groupId>
      <artifactId>spigot</artifactId>
      <version>1.17.1-R0.1-SNAPSHOT</version>
      <scope>provided</scope>
    </dependency>
spiral light
#

do you want to use the spigot api ?

quaint mantle
#
import net.minecraft.server.level.EntityPlayer; // how I'm importing

If I could help on this, that'd be appreciated

sterile token
quaint mantle
#

I'd probably move to the api afterward

#

but since the code is solely off of buildtools right now, I'd rather rebuild it from the ground up

spiral light
quaint mantle
#

I know

#

I don't have access to everything I need so, can't use it

sterile token
#

FreeSoccer what the diff?? Cuz on spigot you have all the things that are included on the spigot-api

quaint mantle
#
import net.minecraft.network.NetworkManager;
import net.minecraft.network.protocol.EnumProtocolDirection;
import net.minecraft.network.protocol.Packet;
import net.minecraft.network.protocol.game.PacketPlayOutEntityHeadRotation;
import net.minecraft.network.protocol.game.PacketPlayOutEntityMetadata;
import net.minecraft.network.protocol.game.PacketPlayOutNamedEntitySpawn;
import net.minecraft.network.protocol.game.PacketPlayOutPlayerInfo;
import net.minecraft.server.MinecraftServer;
import net.minecraft.server.level.EntityPlayer;
import net.minecraft.server.level.PlayerInteractManager;
import net.minecraft.server.level.WorldServer;
import net.minecraft.server.network.PlayerConnection;
#

switching to api, all of these are not included

sterile token
#

Yes

quaint mantle
#

so yeah, can't use api

sterile token
#

I explain you

#

The spigot its the one which include many things

#

It contains the api, etc

quaint mantle
#

yep

sterile token
#

So dont change to spigot api

#

Because it wont work

quaint mantle
#

yep

hasty prawn
quaint mantle
#

Any advice?

brave sparrow
#

Presumably you want the remapped spigot if you don’t want the obfuscated jar

quaint mantle
#

probably, how would I get it

hasty prawn
#

Add the remapped classifier to your pom
<classifier>remapped-mojang</classifier>

#

If it says it can't be found, or something to that effect, you need to re-run buildtools with the --remapped arg

quaint mantle
#

I'll just do that, thanks for the help

hasty prawn
#

The names are probably still going to be slightly different, but they'll be named properly instead of cD

quaint mantle
#

this.yaw isn't defined so I'll take what I can get

brave sparrow
#

It’s possible the class no longer includes whatever it is

#

What are you trying to do

quaint mantle
brave sparrow
#

Why are you using NMS for that?

quaint mantle
#

I'm basing this code off of a 1.16.5 plugin, so truth be told I don't really know. 😂

#

I'm planning to port it to 1.17.1, then rewrite everything with additional functionality

#

Can I post images here?

late sonnet
tardy delta
#

should i save homes in a database?

quaint mantle
#

with all of these coming from:

tardy delta
spiral light
#

cant wait for this getting added to api (1.18.2 update):

quaint mantle
#

/usr/lib/jvm/java-17-openjdk-17.0.1.0.12-13.rolling.fc34.x86_64/bin/java -jar BuildTools.jar --rev 1.17.1 --remapped
this is the command I ran to install my version (java17 isn't my default in path)

quaint mantle
#

maybe it's different?

tardy delta
#

idk it looks weird

quaint mantle
#

yeah it does

#

did I install anything incorrectly? (Should I use oracle or something?)

#

Not that I think it'd affect anything but I've never done this before, so... /shrug

tardy delta
#

i just added the spigot dependency to my pom

quaint mantle
#
    <dependency>
      <groupId>org.spigotmc</groupId>
      <artifactId>spigot</artifactId>

      <version>1.17.1-R0.1-SNAPSHOT</version>
      <scope>provided</scope>
    </dependency>
quaint mantle
hasty prawn
tardy delta
quaint mantle
#

I attempted it which then promptly broke

hasty prawn
#

What did it say

quaint mantle
quaint mantle
#

With database, you can avoid this

#
    <dependency>
      <groupId>org.spigotmc</groupId>
      <artifactId>spigot</artifactId>
      <classifier>remapped-mojang</classifier>
      <version>1.17.1-R0.1-SNAPSHOT</version>
      <scope>provided</scope>
    </dependency>
hasty prawn
#

Like I said, they're going to be renamed still.

#

They'll just be understandable.

quaint mantle
#

gotcha

#

Any fixes on using the original though?

hasty prawn
#

Wdym

quaint mantle
#

like, EntityPlayer

#

is it just compiled to cA and stuff normally past 1.16.5

hasty prawn
#

Don't use remapped and suffer through the obfuscated names.

hasty prawn
quaint mantle
#

Nono I get that, but is the standard install of 1.17.1 supposed to have weird variable names

hasty prawn
#

Yes

quaint mantle
#

gotcha, thanks

hasty prawn
#

There's more obfuscated names in 1.17.1 than in 1.16.5, everything was converted back into obfuscated and the mojmaps were provided for this reason 😄

buoyant viper
#

waiting for the day mojang releases the game fully unobfuscated 🙏

spiral light
pine island
#
player.getInventory().addItem(new ItemStack(Material.DIAMOND_SWORD, 1).addEnchantment(Enchantment.DAMAGE_ALL, 6);
``` it says i need a bracket in here somewhere
#

i dont think so i need to tho

marble granite
#

Is it possible to make a stack of items, non-spreadable? if that makes sense

pine island
#

i dont think so

marble granite
#

yea, i expected that

#

thanks though

pine island
#

hey np

tardy delta
#

you are adding a void?

pine island
#

how am i adding a void

#

what

tardy delta
#

new ItemStack(Material.DIAMOND_SWORD, 1).addEnchantment(Enchantment.DAMAGE_ALL, 6) returns a void and you need another )

pine island
#

where!??

tardy delta
#

on the end

pine island
#

hmm but then it shouts at me again

#

weird

tardy delta
#

new Itemstack(material).addenchantment() returns nothing

pine island
tardy delta
#

create you itemstack first and apply the enchantment, then add it

pine island
#

breh thats so dumb

tardy delta
#

thats not dumb, that only works with a builder

pine island
#

hmm

#

what variable to use while creating it?

spiral light
#

you can name it to whatever you want

pine island
#

ofc yeah

spiral light
#

(mostly whatever... there are still some exceptions)

pine island
#

but what var

spiral light
#

uff

tardy delta
#

i'd say ?learnjava but i think you know java enough

pine island
#

NamingScheme

spiral light
#

ItemStack itemstack ?

#

would make sense if nothing specical exist

pine island
#

ill find the doc for it 1 sec!

#

turns out im too lazy figured it out but now addEnchantment() dosnt work here is the code

//vars
                        ItemStack DiaSword = new ItemStack(Material.DIAMOND_SWORD, 1);

                        player.getInventory().addItem(new ItemStack(Material.ENDER_PEARL, 64));
                        player.getInventory().addItem(DiaSword).addEnchantment(Enchantment.DAMAGE_ALL, 6));

Errors:
Line 41 being the last line

dusk flicker
pine island
#

i dont see it ;-;

#

am i too dumb?

quaint mantle
dusk flicker
#

you are adding an enchantment to a void method

pine island
#

ohh...

buoyant viper
#

i want minecraft Chad

pine island
#

wait how do i even fix it?

spiral light
undone axleBOT
pine island
#

i know java thanks, its 12AM

dusk flicker
#

my dude you def dont know java

pine island
#

12:30*

dusk flicker
#

12 am for that isnt an excuse lol

spiral light
#

?google minecraft spigot how to create itemstacks

undone axleBOT
pine island
#

oh wait i remeber

#

dw

dusk flicker
#

Not even that this is literal basic java lol

pine island
#

also

dusk flicker
#

like day 1

spiral light
dusk flicker
#

fair

#

maybe day 5 if you just bs around

tall nova
#

Yeah you should know that it was adding on to a good

pine island
golden turret
#

hello, im going to make a custom block texture for some blocks

#

and it uses a trick

#

i will create a texture for an item

tall nova
#

Custom model data?

golden turret
#

and place it at a itemframe

#

so

#

and as it have an itemframe

#

when i interact with that

quaint mantle
#

lag

golden turret
#

it will remove the texture

#

but thats not my problem

#

i would like to have a way

#

to set the player target block

latent zephyr
#

Hi, I'm trying to make a custom GUI, but I can't seem to get rid of the white squares on hover. What can I do?

quaint mantle
#

There's a better, non-laggy alternative: use noteblock, it has over 800 states which texture you can override

golden turret
#

the itemframe isnt laggy

#

it just change a texture of an item

latent zephyr
spiral light
#

itemframe is way more laggy then noteblocks and also very unsafe

latent zephyr
worn tundra
#

You're doing it the wrong way for them to now show.

tardy delta
#

should it work with a texturepack?

worn tundra
#

You're filling it up with items, when you should be using another thing

spiral light
tardy delta
#

i guess

latent zephyr
worn tundra
#

Items will always have that effect

sage dragon
#

Hey,

It's more about math than development, but I need that math to develop something, so I thought it would fit here too...

I have a time when an animation starts.
I also have a duration which can be different for each tool the player uses.

I now want to show an animation which has 10 steps.

What would I need to calculate which step I have to show?

Every step should show up for the same amount of time as the last step.

My first thought was pretty stupid, so I better not show it 😅

worn tundra
tardy delta
glossy venture
#

how do i remove an item frome aninventory?

#

a players inventory

golden turret
tardy delta
#

inv.remove(slot)

golden turret
#

it is just an item with custom texture

tardy delta
spiral light
#

you have to block many events too

#

noteblocks are just there

golden turret
#

idc

#

for that reason i asked for a way to set the player target block

spiral light
#

and also 1000 itemframes will lag.
200000000 noteblocks maybe not

golden turret
#

so it would display the block border in the block below the itemframe

graceful oak
#

Hey guys im trying to think of a way to track quest data through events but the only way I can think of it is doing a ton of if statements and increasing when one is met. is there a better way to do something like this?

#

Is there a way to create an object with its own event checker that way if I assign a quest to a player that object itself can record when needed?

tardy delta
#

if you're using events, i'd make classes like QuestCompletedEvent and QuestStartedEvent with all the data

foggy estuary
#

Anyone know why when i set customname to " jeb_ " and then make visablecustomname false it doesnt make it rainbow? But mainually setting it to jeb_ with nametag does work?

#

i have the _ in there but discord thinks its a font

#

itallic

modern vigil
#

use \_

foggy estuary
#

i do

tardy delta
#

\_/ heh

modern vigil
#

_

graceful oak
modern vigil
#

_hi_

tardy delta
#

/\
\
/

#

nearly

tardy delta
#

lmao every time you break a block that code is triggered

muted sand
#

is it possible to modify how many slots a furnace / hopper / anything tileable has?
how would i get started to do that

worn tundra
#

What are you trying to do?

#

In vanilla, it is only possible to modify those using resource packs.

tardy delta
#

hey i want that

static panther
#

Am i allowed to ask about plugin errors here?

tardy delta
#

yea

marble granite
#

just cancel it if you don't want it to be un-stacked

tardy delta
#

can you still split it by right clicking on it then?

golden turret
# spiral light itemframes are entitys ... unless you use nms which makes it even worser to use ...

Today I'll show you how to essentially add any new block you want to Minecraft without having to replace any pre-existing, vanilla blocks or textures!

►Subscribe - http://bit.ly/Subscribe_Sarc
►Follow Me On Twitter - http://bit.ly/SarcTweet

───────
Other info:
───────

Commands:

/blockdata ~ ~ ~ {RequiredPlayerRange:0s}

/blockdata ~ ~ ~ {Sp...

▶ Play video
worn tundra
#

Nah, this is one of the most unreliable ways to do it. If you have a ground made completely out of those custom blocks, you basically have hundreds of entities laying around.

worn tundra
golden turret
#

i just found it

light parcel
#

Trying to unit test my commands, is there a way to add a permission to a Player?

#

(I'm using MockBukkit if that's relevant)

light parcel
#

Yes

buoyant viper
brave sparrow
#

Player#setPermission

#

Or something similar

lost matrix
#

Im just thinking of a way that doesnt require you to implement a whole permission system...

ivory sleet
#

Anarchist

light parcel
#

Same because at that point it's not worth the hassle, would just be a nice quick test if simple to do

ivory sleet
#

What are you actually testing

#

Cause maybe you could create a player mock which would allow you to set its permissions (or just like solely hasPermission)

light parcel
#

I have a PlayerMock instance but I don't see any method to set permissions, only hasPermission and isPermissionSet

idle solstice
#

i'm working on a plugin for custom bans but i have a problem if i got banned i got this message
You are banned from this server! Reason: How can i remove this default message in my plugin?

lost matrix
#

I think just using addAttachement should work

tardy delta
#

Conclure, your pf looks like a duck uwu

ivory sleet
#

^ else make your own mock maybe

buoyant viper
#

quack

tardy delta
#

quack quac

young knoll
#

🦆

idle solstice
#

i'm working on a plugin for custom bans but i have a problem if i got banned i got this message
You are banned from this server! Reason: How can i remove this default message in my plugin?

ivory sleet
#

Kick em

tardy delta
#

check the PlayerLoginEvent iirc

light parcel
#

Yeah not a bad idea, I'll take a look at mockbukkits source, could always try and pr it in

ivory sleet
#

yeah

light parcel
#

(if I can make my own lol)

ivory sleet
#

Because hopefully

#

You would only depend on Player and not PlayerMock

buoyant viper
#
  1. dont ask the same question within the same minute we definitely saw it the first time and wouldve gotten to it

  2. make ur own punishment system

ivory sleet
#

So passing something like UnitNamePlayerMock which has a ::setPermission or sth

buoyant viper
#

thats an async event? monkepog

idle solstice
#

i have been learning java since 1 week ago

#

so yeah

tardy delta
#

uhh idk

young knoll
#

It says async

tardy delta
#

idk what the difference with loginevent it

young knoll
#

So yes

brave sparrow
#

That is an async event

#

It’s called off the main thread

tardy delta
#

oh uhh

#

event can be async yes :/

buoyant viper
#

thought there was only PlayerPreLoginEvent thats y lol

brave sparrow
#

So you can for example make database or web calls in there without freezing the server

brave sparrow
buoyant viper
#

i didnt know the async one existed

tardy delta
#

the not async one is deprecated

brave sparrow
#

^

buoyant viper
#

AsyncPlayerMoveEvent when

ivory sleet
#

🌝

tardy delta
#

is there one?

brave sparrow
#

No lol

tardy delta
#

imagine moving async 🤔

brave sparrow
#

There can’t be, because player movement happens on the main thread

buoyant viper
#

ik

tardy delta
#

uhu

brave sparrow
#

You’d have to properly split up Minecraft into a concurrent game

buoyant viper
#

theres probably some terrible fork that tried it tho

tardy delta
#

makes sense

young knoll
#

Isn’t the incoming movement packet async

brave sparrow
#

Yes

tardy delta
#

ew packets

brave sparrow
#

But that’s without the server-side correction

young knoll
#

Ah

brave sparrow
#

The PlayerMoveEvent is using authoritative movement

#

Which is somewhat more useful

buoyant viper
#

minecraft but fully serversided movement when

brave sparrow
#

That would suck

#

Lol

buoyant viper
#

yeah

brave sparrow
#

There’s a reason real time games don’t do that lol

buoyant viper
#

some people just want to watch the world burn... i want to be the one that lights the match 🔥

brave sparrow
#

I can respect that

young knoll
#

Did someone say arson

tardy delta
#

🥵

buoyant viper
#

hell yeah

#

wym cant edit imported projects @trim creek

tardy delta
#

does preparedstatement automatically sets ' ' when replacing a question mark with a string?

quaint mantle
#

hello i need some help

tardy delta
#

i need some help too

buoyant viper
#

?ask

undone axleBOT
#

If you have a question, please just ask it. Don't look for staff or topic experts. Don't ask to ask or ask if people are awake or available. Just ask the question to the channel straight out, and wait patiently for a reply. Make sure you use the right channel regarding the topic of your question. Create a thread in case the channel is already in use!

storm chasm
#

hello, so i want to know if it's possible to transfer a player from a server to another one, without bungeecord, as it links servers and it's not really what i want and it's not easy to set up a bungee server. So maybe there is like a plugin that will send a player to another ip

buoyant viper
#

i've imported projects from eclipse into intellij w/o problem so im a little baffled

trim creek
#

Somehow

#

IJI detects two of my projects that I started in Eclipse

#

But when I open 'em

#

I am unable to edit 'em, since it doesn't shows any folders or packages

#

so need to say a bye to IJI

#

sry

buoyant viper
#

nooo

buoyant viper
#

u sure ur opening them thru intellijs project importer?

trim creek
quasi flint
#

Thats Just overly complicated

trim creek
#

How the hell could we connect a player to another server without BungeeCord?

#

IS IF EVEN POSSIBLE?! :wtf:

buoyant viper
#

java edition does not have transport packets which is what youd need iirc

lost matrix
trim creek
quasi flint
#

Would bei funny If you Had tho

#

😂

storm chasm
quasi flint
#

But why

worn nebula
#

Hello, I would like to know if it would be possible for a player's uuid to be the same on bungeecord and spigot?

buoyant viper
quasi flint
#

There is no other easz way

storm chasm
#

it's not even a way cause bungee doesn't do what i want

trim creek
lost matrix
quasi flint
buoyant viper
#

ur trying to transfer a player to another server no? that is something bungee can do

trim creek
storm chasm
trim creek
quasi flint
#

Why 😭

trim creek
#

Each servers needs to be linked with Bungee

buoyant viper
storm chasm
#

oka

quasi flint
#

That's what we said a few times already

storm chasm
#

thanks

trim creek
#

Watch a YT tutorial on how to setup BungeeCord, or download a free BungeeCord premade server, and learn from that

#

The last one is probably more helpful

storm chasm
trim creek
#

(it is actually the method how I learned BungeeCord)

buoyant viper
#

there was one server i saw that sort of? did what youre talking about, but fuck if i know how they pulled that off

#

probably acted as a literal proxy instead of just bungee

storm chasm
#

oh

quasi flint
quaint mantle
#

At first bungeecord concept looked very strange for me

#

i thought i'll have extra ping xuz you know its a proxy

trim creek
lost matrix
trim creek
# lost matrix

This should be available in a command like ?bungeeconnection

quaint mantle
#

Velocity ftw tho

buoyant viper
#

wish i had a network worth bungeeing

#

lets make like one of those internet web-rings but with mc servers

trim creek
#

Iguess

lost matrix
buoyant viper
#

and god do i not want them to cross paths

trim creek
#

Oh wait didn't understand what you told. 😹

#

But now I do

#

c.c

buoyant viper
wide reef
#

I am new i need help how can hit player with command? Which playerEvent i need? Can anyone write me a code? Plz

#

Like i want give him kb

lost matrix
#

If you have 2 servers running already then its probably a good idea to think about getting a root server soon. (Or at least a VServer)
At the 20 bucks/month mark its not worth it going for gaming server anymore

lost matrix
quasi flint
#

Knockback

#

I smell 1.8

wide reef
#

Yeah

lost matrix
#

I see. PvP jargon...

storm chasm
trim creek
brave sparrow
#

@storm chasm what do you actually want to do that you think bungeecord can’t

#

Because bungeecord supports multiple IPs

quasi flint
#

Well we are but I don't support spoon feading

trim creek
lost matrix
lost matrix
brave sparrow
storm chasm
wide reef
#

That site i didnot found kb, so i come here to help

trim creek
wide reef
#

?
Plz

brave sparrow
trim creek
#

(I actually realised that it is inside config.yml)

lost matrix
trim creek
brave sparrow
storm chasm
#

@brave sparrowand the thing i want to do is like allowing players to move to another server/ip from one

brave sparrow
wide reef
#

I just want that player get kb if type my command

buoyant viper
#

oh i thought they wanted to connect the player to whatever server they wanted and not just linked

quaint mantle
brave sparrow
trim creek
quaint mantle
#

all my homies play modern pvp

wide reef
#

Which playerEvent can do this

storm chasm
lost matrix
trim creek
storm chasm
trim creek
#

It will help

brave sparrow
#

Are you intending to connect players to servers you don’t run

quaint mantle
#

player.getVelocity probs

trim creek
#

if it is not ####ed up

brave sparrow
#

Cause that you can’t do

buoyant viper
#

i smell cheating Chad

brave sparrow
#

You and your friend can coordinate to make both servers accessible from each other’s bungees though

buoyant viper
#

jk

brave sparrow
#

Very easy

wide reef
storm chasm
#

and how

buoyant viper
#

u dm ur friends go hey wanna link up?

brave sparrow
#

Just like you would with a server you own

quasi flint
#

I don't like where this is going

storm chasm
#

know that he hosts in his machine and i use vps so

brave sparrow
#

That doesn’t matter

storm chasm
#

it's still possible?

brave sparrow
#

Bungeecord servers can be distributed across thousands of machines

buoyant viper
#

u could have bungee linking two servers across the world if u wanted it to

brave sparrow
#

That’s not an issue

storm chasm
#

mhmm

#

could you tell me how to set up that then? in dm ofc

trim creek
#
servers:
  anya:
    address: ip.ip2.iplol:portherebutinnumbersorimnotgonnaworkxd
    restricted: false
    motd: why i am alive
  apa:
    address: ip.ip2.iplol:anotherportbutnothtesameasanyaxd
    restricted: false
    motd: why is anya not coming home

This is an example of the servers section

buoyant viper
#

is there a

#

?bungee

#

rip

#

md pls fix

brave sparrow
#

It’s just like setting up any ordinary bungee network

storm chasm
#

lol

brave sparrow
#

There’s 0 difference

storm chasm
#

oh also

brave sparrow
#

This isn’t even an unusual use case for bungee

storm chasm
#

they could do that over a command

brave sparrow
#

Yes

#

That’s how bungee works too

#

Lol

storm chasm
#

didn't know that lol

storm chasm
#

for this specific feature

buoyant viper
#

its like the whole purpose of bungee

lost matrix
buoyant viper
storm chasm
#

when you search using all possible combinations on google

#

and don't find anything

lost matrix
storm chasm
#

this told me that bungee could not do that

buoyant viper
brave sparrow
#

Tell us which part gave you that idea and we can explain how you misunderstood it

storm chasm
#

basically all forums were about linking servers

#

and not transfering

brave sparrow
#

Same thing

quasi flint
#

Linking -> Transfering

brave sparrow
#

You’re misunderstanding what linking means

storm chasm
#

nono wait a sec

#

they all wanted to do that for minigames for exemple

brave sparrow
#

Yup

#

Same thing

storm chasm
#

the thing i don't want for now

#

but well now i know so thx

brave sparrow
#

What

#

Linking is what you want

quasi flint
#

Well now I don't know what to know anymore

#

I know that I don't know

trim creek
#

the same

storm chasm
#

@brave sparrowthere is the one thing: linking your servers together, and i'm saying yours
the other thing is just transfering players

trim creek
#

WAT

#

WTF

buoyant viper
#

gotta create a link to start a transfer lele

storm chasm
#

but you're saying that transferring will need to link right? @brave sparrow

quasi flint
#

Brain hurts

storm chasm
#

lmao it's hard to explain

quasi flint
#

What we say

#

Is what ya want

storm chasm
#

i know

storm chasm
unreal quartz
brave sparrow
#

@storm chasm transferring IS linking

#

You’re putting too much emphasis on the “your” in “your servers”

#

It just means the servers you want to be connected

sterile token
#

You cannot transfer anything if your server are not linked

#

Its not so difficult

sterile token
young shell
#

Is there a way to center a List of Messages in Spigot based on the longest message?

lost matrix
young shell
#

I know, but usually if I base it on the default font it will at least be approximately accurate

lost matrix
#

print out the json String and see what you get

#

also there is a surrounding property called "properties"

young knoll
#

Leakz

buoyant viper
#

leaking my skin nooo

kind hatch
lost matrix
#

Looks like properties is a JsonArray

buoyant viper
lost matrix
kind hatch
lost matrix
#

let me read the stack trace real quick...

buoyant viper
#

paper moment

kind hatch
#

The stacktrace isn't actually from my testing. It's from someone who reported it to me.

#

But I don't have multiple accounts so I can't really recreate the circumstances.

lost matrix
kind hatch
sterile token
sterile token
#

Send ?paste

#

or you already send it

kind hatch
lost matrix
#

Cool. Now add the YAMLPlayerData pls

buoyant viper
#

what about YAMLPlayerData

kind hatch
#

Oh 1 sec

sterile token
#

I recommend sending all code

#

Inside 1

kind hatch
buoyant viper
#

i do not recommend all code in 1 paste..

sterile token
#

Sorry man, but for me its easy for reading

#

But no matter

kind hatch
sterile token
#

Allrigh i will check it

#

I dont know why people prefer gitlab over github

kind hatch
#

Gitlab has some QOL features that I prefer and I was originally going to use GitHub, but they were acquired by Microsoft some time ago. Not a big fan of them.

sterile token
#

Gitlab its more for working in team right?

kind hatch
#

Also GitLab has always had private repos. I think that you have to pay for those on GitHub

lost matrix
kind hatch
#

That's what I'm trying to figure out. The person who is having the issue says that the error occurs when a player joins for the first time.
I cannot recreate the issue on my end as the file gets created. However, my suspicion is that #computeIfAbsent() runs async and there is some issue with it.

lost matrix
#

Unless this new File(plugin.getFileManager().getPlayerDataDirectory(), uuid + ".yml"); accesses the YAMLPlayerDataManager

buoyant viper
#

new configuration lib what u guys think

sterile token
lost matrix
buoyant viper
#

haha

kind hatch
young knoll
#

Even spigot supports comments now

buoyant viper
#

all it does is set a field's value from a specified key in a FileConfiguration

#

it would be pog to actually hook in to FileConfiguration#set

#

but then i need super duper hacker code

lost matrix
#

Just throw a class into Jackson and save it as yml... Thats what i do at this point

young knoll
#

Does that support comments

lost matrix
#

Spares me all the serializing/deserializing

sterile token
#

Do you recommend github or gitlab?

paper viper
#

i prefer github

buoyant viper
kind hatch
ivory sleet
#

I believe gitlab has another focus than github

lost matrix
buoyant viper
#

just make the config key really descriptive

#

like

dusk flicker
#

github best

buoyant viper
#

really descriptive

sterile token
#

I need to create a continuous integration branch. Where more than 2 developers can work at the same time knowing that the code will always be up to date and in case something breaks on the part of a developer, you can go back

buoyant viper
#

gitlab and github pog

#

but gitea?

vocal cloud
#

GitHub super pog cause GitHub give student licenses

sterile token
#

But with github/ the code its never auto updated. You hvae do it manually

dusk flicker
#

??

buoyant viper
#

no code is updated until u git push

sterile token
#

Ahh

#

So it wont fit

young knoll
#

Yo what about

#

Bitbucket

dusk flicker
#

ew

buoyant viper
#

god no

dusk flicker
#

tbh I havent used bitbucket in a while

#

last I remember it wasnt great

young knoll
#

Isn’t that what the spigot stash is

sterile token
#

Cuz i need something that when you change code it create a unique hash for that (so then you can go back with that hash) and automatically push to server and download it on all other devs

#

That what i exactly need

buoyant viper
#

so you need... source control management?

dusk flicker
#

thats literally git

#

just git is not auto

buoyant viper
#

^

lost matrix
dusk flicker
#

yeah I dont plan on it lol

#

github all the way

buoyant viper
#

github and gitlab are effectively just web git peepoCoolSunglasses

sterile token
kind hatch
#

facts

dusk flicker
#

What are you actually wanting to do?

#

Live editing?

sterile token
#

I thinking doing something with C# + Github. To automize the process

buoyant viper
#

creating a unique hash of the changes made is literally what git does

lost matrix
buoyant viper
#

or mercurial, if ur a madman

kind hatch
sterile token
dusk flicker
#

you really dont need it auto done tho?

#

just edit seperaly and then merge into a branch

buoyant viper
#

then thats not gits problem that ur not pushing?

kind hatch
#

^

sterile token
vocal cloud
#

You really don't want to push every change you make cause undoing would be impossible

buoyant viper
#

^

lost matrix
kind hatch
sterile token
#

I tought all work over the update of the update of the update let say

#

😂

vocal cloud