#help-development

1 messages · Page 961 of 1

twin venture
#

iam using CompletableFeature for sql code

echo basalt
#

I abuse thenAccept

lost matrix
#

You need to configure the server to use a custom generator. Even if your overwrite this method.

stiff sonnet
#

again what do I need to do

#

I found no option like that in the plugin.yml wiki page

twin venture
#

i endeed up with this

stiff sonnet
rotund ravine
rotund ravine
stiff sonnet
lost matrix
rotund ravine
#

Feel free to update it

lost matrix
#

You feel free to update it. I have a few PRs pending and i need to make them work before i start more.

rotund ravine
#

I said feel free to update the spigot wiki page he was looking at

#

I don’t got time for coding 🥲

lost matrix
wet breach
stiff sonnet
wet breach
#

plugin should be the name of the plugin

lost matrix
wet breach
#

world should also be the name of your world

#

typically its world if you leave everything as the defaults

echo basalt
#

Yo smile

lost matrix
#

oi

echo basalt
#

I got something that'll make you hella sad

lost matrix
stiff sonnet
lost matrix
#

i dont want to scroll down... im seeing the first few lines and im depressed already

echo basalt
#

Luckily the last 10 lines is the stairway to heaven

lost matrix
#

Holy

slender elbow
stiff sonnet
lost matrix
echo basalt
#

banger

stiff sonnet
#

oh I really did misread that wiki post

#

excuse my stupidity, thanks for the help

lost matrix
hybrid turret
#

Are all players disconnected (with the quit event firing) when the server shits down? Also what about the server crashing/being shut down by ctrl+c/closing the server console and ending the task?

pseudo hazel
#

more like a highway to hell

lost matrix
stiff sonnet
hybrid turret
#

*?

hybrid turret
echo basalt
hybrid turret
#

✨descriptive✨

stiff sonnet
#

does that file only exist for legacy compat or what?

lost matrix
#

Or kick all players in your onDisable

#

ugh

hybrid turret
#

Oh right that‘s a way ig

#

That would be easier

#

And ig crashing the server is not a case we can handle huh?

hybrid turret
quiet ice
#

reloading?

#

idk, this convo is cursed

hybrid turret
#

Oh okay funnily enough i already do that in my shutdown command but ig it would amke more sense to put it into onDisable if the user for some reason decides to use the minecraft:shutdown command

hybrid turret
minor anvil
#

please can someone help me i can pay

quiet ice
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!

quiet ice
#

?services also

undone axleBOT
stiff sonnet
minor anvil
#

60$

drowsy helm
#

Dont waste your money lol

minor anvil
#

its just 60$ thats nothing

#

i need a engine for mods + plugins

#

to start darkrpg from curseforge mod pack

drowsy helm
#

No officially supported server jars for that

#

Youll find some here and there but none that support 1.20 and most are buggy

worldly ingot
#

I think there's Arclight, but like buoo said, not supported and the likelihood of all the plugins you want being functional on Arclight is fairly slim

young knoll
#

We should make a new hybrid

#

With blackjack and hookers

remote swallow
#

no

#

no we shouldnt

pliant topaz
#

So, I dunno where this error comes from, I can't see why anything there should be null, does anyone know how I may fix this error?

    private final static List<ItemStack> toolUpgradeItemsList = List.of(
            new ToolUpgradeBuilder(Material.BARRIER, 1).setDisplayName(ToolUpgrades.TOOL_UPGRADE_DEBUG.getUpgradePrefix()).setLore(List.of("§8Tool Upgrade", " ", "§7When applied on tool:", ToolUpgrades.TOOL_UPGRADE_DEBUG.getUpgradeDescription().listIterator().toString())).build(),
            new ToolUpgradeBuilder(Material.AIR, 1).setDisplayName(ToolUpgrades.TOOL_UPGRADE_NONE.getUpgradePrefix()).setLore(List.of("§8Tool Upgrade", " ", "§7When applied on tool:", ToolUpgrades.TOOL_UPGRADE_NONE.getUpgradeDescription().listIterator().toString())).build(),
            new ToolUpgradeBuilder(Material.DIAMOND_PICKAXE, 1).setDisplayName(ToolUpgrades.TOOL_UPGRADE_THREE_BY_THREE_BREAKING.getUpgradePrefix()).setLore(List.of("§8Tool Upgrade", " ", "§7When applied on tool:", ToolUpgrades.TOOL_UPGRADE_THREE_BY_THREE_BREAKING.getUpgradeDescription().listIterator().toString())).build()
    );

    public static void init() {
        toolUpgradesIndexes.put(-1, ToolUpgrades.TOOL_UPGRADE_DEBUG);
        toolUpgradesIndexes.put(0, ToolUpgrades.TOOL_UPGRADE_NONE);
        toolUpgradesIndexes.put(1, ToolUpgrades.TOOL_UPGRADE_THREE_BY_THREE_BREAKING);
    }```
(Ignore formatting issues, thats due to discord)
#

wait, errror is too big

chrome beacon
#

?paste

undone axleBOT
pliant topaz
#

the above shown code is in ToolManager btw

tall dragon
#

ur collection is immutable

#

meaning a collection which u cannot edit

#

thats cuz u do List.of iirc

#

those are immutable

pliant topaz
#

bruh

young knoll
#

You can just wrap it in new ArrayList

#

Or just manually construct a list

pliant topaz
#

okay, thx

#

funny thing is, it worked before lmao

#

prob bc I accessed it then

hybrid quartz
#

have you registered your command in plugin.yml?

#

and in main class

#

Hello! I have ChatEx plugin for chat, which shows local and global messages to chat. I want to add hover message on player's name with a little information about player. Can I just add hover message to already existed message or it needs to create a new message? Cause I have created a hover message but now it sends new created message in chat instead of ChatEx message. Can't send it in screenshots cause verify bot works shitty.

tall dragon
#

?paste

undone axleBOT
tall dragon
#

did you register your command in your code as well?

echo basalt
#

?pdc

hybrid quartz
#

you wrote getcommand "cow" but in plugin yml you have
commands:
command:

echo basalt
#

Your commands is invalid yeah

#
commands:
  command:

->

commands:
  cow:
hybrid turret
#

For a first command, this is actually good code imo

#

Nice

echo basalt
#

Here's a pro tip

#

While it's good to get inspired from sites and stuff

#

You only learn the basics by doing it yourself

#

Use the content on the websites for inspiration but don't just blindly copy

hybrid turret
#

True this. That‘s the reason it took me a looooong time to understand the basics of java and plugin programming

#

If you copy, always make sure you understand what you copy.

echo basalt
#

Also let's establish another rule

#

This one's modern

hybrid turret
echo basalt
#

No AI copilot until you can write the code yourself

#

It's a copilot not a drunk teacher

hybrid turret
#

Lmao

#

But true

hybrid quartz
echo basalt
hybrid quartz
drowsy helm
#

How are you adding it zunynz?

echo basalt
#

?learnjava

undone axleBOT
#

For Beginners:

Codecademy - Learn Java: Interactive Java programming course from basics to more advanced concepts. Perfect for absolute beginners.
https://www.codecademy.com/learn/learn-java
JetBrains Academy - Java Developer Track: Learn by doing with projects and challenges. It covers Java fundamentals to advanced topics.
https://www.jetbrains.com/academy/
Udemy - Java Programming Masterclass for Software Developers: Updated courses that cover Java 8 to Java 17 features. Suitable for those who prefer structured learning.
https://www.udemy.com/course/java-the-complete-java-developer-course/

For Intermediate to Advanced Learners:

Oracle Java Tutorials: The official guides by Oracle for Java programming—great for understanding the depth of Java.
https://docs.oracle.com/javase/tutorial/
Baeldung - Learn Java and Spring: Focus on Spring Framework and modern Java technologies. Best for intermediate learners aiming to expand their knowledge.
https://www.baeldung.com/

Practice and Hands-on Learning:

Exercism - Java Track: Solve exercises and get feedback from mentors. Great for practicing coding skills.
https://exercism.io/tracks/java
LeetCode: Practice your coding skills and prepare for technical interviews with Java.
https://leetcode.com/

Free Resources and Documentation:

Java Programming and Documentation: A comprehensive collection of Java programming guides, tutorials, and API documentation.
https://docs.oracle.com/en/java/

Community and Support:

Stack Overflow: A vast community of developers. Great for getting help with specific problems or understanding concepts.
https://stackoverflow.com/questions/tagged/java
r/learnjava on Reddit: Join the community of Java learners and get advice, share resources, and discuss projects.
https://www.reddit.com/r/learnjava/

Remember: Learning to program takes practice and patience. Don't hesitate to experiment with code and participate in community discussions. Happy coding! 🎉

drowsy helm
#

Just in async player chat whatever?

hybrid quartz
drowsy helm
#

Because I dont think that supports hoveravle text for the player name

echo basalt
#

AsyncPlayerChatEvent is the bukkit one

drowsy helm
#

So you might have to make the player name empty and append the hoveravle name in message

echo basalt
#

Provides you your usual message

#

If you're using paper you have AsyncChatEvent which passes a component and you can do magic with it

drowsy helm
#

I could be completely wrong tho

young knoll
#

You’d have to cancel the event and manually broadcast a component message

hybrid quartz
#

It sends original message but hover message just sends in chat

drowsy helm
#

That wouldnt send to anyone else

echo basalt
#

Well here's the problem yeah

#

you don't know how text components work ._.

#

?bungeechat

#

maybe?

young knoll
#

?components

undone axleBOT
dawn flower
#

yoyo is there a PathfinderGoal that makes the entity not go past a specific bounding box?

echo basalt
#

Uh

dawn flower
#

ik enderdragon has something similar but idk where it is

echo basalt
#

I really doubt that

hybrid quartz
dawn flower
#

enderdragon can't get out of the end thing tho

echo basalt
#

The enderdragon's pathfinding is unconventional

dawn flower
#

o

#

so i have to make my own?

echo basalt
#

Go for it

drowsy helm
#

Would be pretty easy to make a goal for

dawn flower
#

do i have to use nms or will i find that spigot has a way after i use nms

#

just making sure

drowsy helm
#

If(out of box)
Dont()

young knoll
#

You need NMS

dawn flower
drowsy helm
#

Yeah nms for pathfinders

young knoll
#

Spigot doesn’t have a pathfinder api

drowsy helm
#

Unless you use paper

dawn flower
worldly ingot
#

Then we can't help you, you're best asking for help in the Paper Discord. idk why you came here to begin with

dawn flower
#

if spigot can do something then paper can do the same thing, he said unless you use paper so there might be a way to do it with paper without nms

#

paper discord gives less support so i ask here

worldly ingot
#

so there might be a way to do it with paper without nms

#

Yes, there is

#

Which means Spigot does not

#

We are Spigot, it's Paper-exclusive API, therefore we cannot help

dawn flower
#

alr ima ask there

lilac dagger
#

does java have a priority map?

#

i want to get the first element that matches the best

#

big changes 😄

chrome beacon
#

ah yes Bug fixes

lilac dagger
#

indeed

#

my commits are bug fixes 😄

dawn flower
#

how do i check if a location is within 2 bounds

lilac dagger
#

i should get used to commits after each change

river oracle
dawn flower
#

what do i put in the if statement

#

that's the question

river oracle
#

the comparison think about it

You need to check if your X is between X1 or X2. First it'd be important to get the min x and max x from X1 and X2

#

now you check if your x is between the min x and max x

#

Math#min and Math#max are going to be helpful here

dawn flower
#

x >= Math.min(pos1.getX(), pos2.getX());
so like this?

#

and repeat it 3 times for xyz?

river oracle
#

well that only checks if x is greater than your min value if your checking bounds you need to think about between to points

#

simplest to think about it in one dimension than add the others. For example how do I check if my point is between 2 points in a line

#

that is a very easy problem to think through you can than expand that to add multiple dimensions

dawn flower
#

wait

#

i found BoundingBox

#

in bukkit, isn't that exactly what i need?

river oracle
#

depends on how often you're doing a comparisson / if you need to store the region

#

a bounding box only really makes sense if you're storing a region

dawn flower
#

it's just a quick comparison without a region

river oracle
#

then a Bounding Box makes no sense

dawn flower
#

i think it'd be overkill

river oracle
#

because a bounding box just does everything internally you can do very easily if its just a quick comparisson

#

don't over think it reduce the problem down to a single line first

#

you have 2 points
X1 and X2 you aren't sure which is bigger X1 or X2

you need to check if MyX is between X1 or X2

dawn flower
#

wait

#

i think i understand, something like htis?
x >= Math.min(pos1.getX(), pos2.getX() && x <= Math.max(pos1.getX(), pos2.getX();

#

this checks if it's between im pretty sure

river oracle
dawn flower
#

what does inclusively mean?

formal egret
#

just out of curiosity, do placeholders work in player name tags? I have PlaceholderAPI and LuckPerms to allow me to test however every time, the placeholder appears as if I havent set the placeholders. And yes, I have used /papi ecloud download LuckPerms. Many thanks
Not the tidiest of code I know

EDIT: I am not familiar with NMS as of yet, but am welcome to suggestions regarding it

river oracle
# dawn flower what does inclusively mean?

inclusive means lets Image
X1=1 and X2=5 MyPoint=1

Inclusive:
MyPoint is between 1 and 5 including 1 and 5

Exlusive:
MyPoint is not between 1 and 5 we are not including 1 and 5

dawn flower
#

oh

#

so
1 and 5 inclusive would be 1, 2, 3, 4, 5
1 and 5 exclusive would be 2, 3, 4

river oracle
#

yes

dawn flower
river oracle
#

that should work for inclusive

#

you can think of each dimension as just a number line of points

#

and use booleans to stitch them together

dawn flower
#

tysm

modern plank
#

what is the new alternative to the old PacketPlayOutPlayerInfo packet

brittle geyser
#

How can i block public proxies?

young knoll
#

?

river oracle
brittle geyser
#

???

#

bots join with public free proxies, how can i block it, im using velocity

young knoll
#

Why is your server connected to those public free proxies?

brittle geyser
dawn flower
#

how do i make an entity smoothly change yaw

fringe yew
dawn flower
#

and not instantly change wwhere its head is

fringe yew
young knoll
#

That shoud fall under teleport duration

gleaming grove
young knoll
#

Otherwise just rotate it with the transformation

dawn flower
#

just making sure, does Entity#lookAt do it already or do i have to use lerp

azure vault
#

code```scala
println(event.getRightClicked.getUniqueId)
println(npcs.map(_.getUniqueId()))

val npcOpt = npcs.find(_.getUniqueId().equals(event.getRightClicked.getUniqueId))

println(npcOpt)

output```
[17:26:00] [Server thread/INFO]: 47438a32-befb-2b2e-b2c6-d8f60d427331
[17:26:00] [Server thread/INFO]: List(20037d26-4ff0-4379-96c8-0485da384881, 06081321-80dc-4602-a962-166f08aaf220, 32a3ea9b-a8ad-4484-bfca-db2d878244fd, 20064533-9d3b-468e-95f3-975c62476ecb, e62f2901-111d-4c8b-8b27-2dabfe1f76cf, 51b695f3-0e88-444e-96ab-cbcf1e9b9c1c, 3fc7decf-0480-40b1-9e6b-7a12c33f53fd, 55159ab1-ce76-4b43-ae0c-a089c603320b, 5712cb2c-ab16-4d21-a60a-7fd02e7806fc, ce84ae06-e72d-4623-bc3d-d184c10487c3, f9ead9d2-5050-4f1c-be0c-36d86dd42549, 47438a32-befb-4b2e-b2c6-d8f60d427331)
[17:26:00] [Server thread/INFO]: None
```wtf?
#

47438a32-befb-2b2e-b2c6-d8f60d427331
47438a32-befb-4b2e-b2c6-d8f60d427331

#

seems like the same uuid to me

quaint mantle
#

why my placeholders from placeholder api doesnt have the colors?

if(p.hasPermission("smc.vipjoin")){

            String sp = ChatColor.translateAlternateColorCodes('&', "%luckperms_prefix%%player_name% &r&ese ha unido al servidor.");

            String cp = PlaceholderAPI.setPlaceholders(e.getPlayer(), sp);

            Bukkit.broadcastMessage(cp);
        }
#

the broadcasted message have colors, but the placeholder no

#

why?

dawn flower
#

translateAlternateColorCodes for setPlaceholders

lime narwhal
#

Hello, wanted to know why when i want to install buildtools, it keep loading and create me err.log ?

dawn flower
#

not sp

quaint mantle
#

ok, im gonna try

thin delta
#

How can I create a beacon laser without a beacon?

orchid trout
#

.io

quaint mantle
quaint mantle
dawn flower
rotund ravine
quaint mantle
#

i cant send photos here

thin delta
dawn flower
#

i think yeah

thin delta
#

rip

rotund ravine
undone axleBOT
#

Can't send images? That's because you're not verified! Use !verify to complete verification.
Alternatively, you can upload screenshots to any image hosting site and share the link.

Here's some screenshot utilities that you can use to upload images.
Lightshot: https://prnt.sc
Imgur: https://imgur.com/upload
Flameshot: https://flameshot.org

brittle geyser
undone axleBOT
quaint mantle
quaint mantle
#

fixed

#

thank guys

inner mulch
#

how do ppl apply glowing to blocks?

#

is it a itemdisplay in secret?

proven musk
#

how do you add a resource pack to the server

#

some people are saying you need to upload it to dropbox why can't the server just give it to you directly

inner mulch
#

player.setResourcePack();

#

but u need a url

azure vault
#

just launch a small http server inside ur plugin

#

if u dont wanna upload it somewhere

rough ibex
#

that's the old way to do it

#

size 1 slime with glowing invis

inner mulch
#

ive read about shulkers too?

#

im wondering which one is better

agile hollow
#

guy's that a bit off topic but why when i click the "send" button on my keyboard on intelij it crash / freeze

river oracle
#

Send the crash report to intellij 😂

agile hollow
quaint mantle
#

?paste

undone axleBOT
neat basin
#

Hey? Anybody?

young knoll
#

?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!

rough ibex
#

judging by those reactions I don't think he's here to be nice

river oracle
dawn flower
#

how do i make it so you can walk through ghost blocks?

chrome beacon
#

use block displays

pliant topaz
proven musk
#

whats the best dummy item

#

like

#

if I want to make a custom retextured item what could I use that has no side effects

fringe yew
proven musk
#

or, as few so I can remove them

#

sticks are used in tons of crafting recipes

pliant topaz
#

structure block

proven musk
#

I dont want to have to replace them all

fringe yew
#

true

#

you got me there

proven musk
#

can structure blocks be placed in survival

pliant topaz
#

no

#

and also only with op iirc

#

also not used anywhere basically

proven musk
#

damn

#

ok cool ty

#

that works

pliant topaz
#

i always used them back when i developed datapacks

fringe yew
#

i think i need to be taking notes

#

i've always used sticks w/ custom items

green prism
#

Are 180ms for retrieving an object from a MySQL db bad?

(Retrieving and deserializing)

thin delta
#

Need some help brainstorming a plugin I want to make...
Survival minecraft servers kind of suck in terms of communication between players, so I want to make a targetting/ping function.
This would essentially be:

  • Player does keystroke
  • Raycasting to first entity or block
  • Apply glow effect to entity or block
  • Play Anvil place sound
  • Type in chat the name of entity or block + coordinates
#

The part I cant quite figure out is the keystroke part.... Keystrokes are client-side, so it wouldn't exactly work. Wondering if there's a unique combo of actions a player can do to replicate this

vast ledge
#

Make a combo where somebody heats in a certain combo while holding a certain item

grim hound
#

but usually, yes

thin delta
#

Like maybe right-clicking while shifting? I don't know if there's a better way to do it

vast ledge
#

What if you're trying to build on a ledge?

#

And what is "Raycasting" supposed to mean

thin delta
#

Raycasting is basically an algorithm to detect something in the line of sight of an object

green prism
#

Well, those operations are obviously quite expensive

vast ledge
#

Can describe what you are trying to achieve? You press the combo, and then chat with the person in your los?

grim hound
thin delta
grim hound
#

or the db is far away

#

or both

#

then it's normal

vast ledge
green prism
#

db is actually locally stored

grim hound
#

and is the object big?

thin delta
#

not really, but I think it has the same function

#

you know where you can ping items for communication with your team?

green prism
# grim hound and is the object big?

Well, it's a simple pojo

public class UserData {

    private String username;
    private UUID uuid;

    // All args constructors
    public UserData(String username, UUID uuid) {
        this.username = username;
        this.uuid = uuid;
    }

    // No args constructor for Jackson
    public UserData() {}

    public String getUsername() {
        return username;
    }

    public UUID getUUID() {
        return uuid;
    }

}
thin delta
#

Or ping locations on the map

grim hound
#

you could use a few optimizations

#

local db for a small object

vast ledge
thin delta
#

this is essentially what I want to achieve

vast ledge
#

and how are you planning on displaying this "waypoint"

grim hound
green prism
#

Deserializing and Serializing operations are the problem, for sure

vast ledge
#

afaik you cant apply glowing to a block

thin delta
#

The glow effect

crystal knot
#

There is a way to execute code every X seconds/ticks ?

vast ledge
#

Yes

#

there called scheduledevents

vast ledge
crystal knot
#

thanks !

thin delta
grim hound
vast ledge
#

Idk if middle click fires and event

#

If it does, use Shift + Middle click

thin delta
#

But my hangup right now is trying to find a rare-combination of player actions

thin delta
#

iirc

vast ledge
#

#getAction()

green prism
#

@grim hound
[18:40:42 INFO]: [WidenCommons] [STDOUT] Serialized in 184ms
[18:40:42 WARN]: Nag author(s): '[MikesLab]' of 'WidenCommons v1.7' about their usage of System.out/err.print. Please use your plugin's logger instead (JavaPlugin#getLogger).
[18:40:42 INFO]: [WidenCommons] [STDOUT] Found in 2ms

You were right! haha

grim hound
#

I haven't done much with databases

#

but I'm decently sure it won't be hard to optimize this

#

like why serialize and deserialize the whole object each time?

green prism
vast ledge
#

BROTHER

#

use

#

?paste

undone axleBOT
vast ledge
#

please

vast ledge
#

Hm

#

ic

#

You could also just make a "Ping Item", that would be the best solution, and not disturb any players trying to play normally

thin delta
#

Yeah. I wonder if there's some other action similar to sneaking that can be paired with RIGHT_CLICK_AIR

vast ledge
#

Yea there is

hollow vessel
#

Hi, I have problem with my PlayerInteractEvent, because It calls it twice (not always). There is code: https://paste.md-5.net/atoburapuy.cs. I have already checked if event.getHand != MAIN

vast ledge
#

same event, check if is RightClick Air

#

then check player#isSneaking()

thin delta
#

right, I just dont think sneaking is the best option to pair with it

#

so I'm wondering what other options are plausible

vast ledge
hollow vessel
vast ledge
#

What does that have to do with the double call?

hollow vessel
#

but only in one if

vast ledge
hollow vessel
hollow vessel
#

i have two similar events

vast ledge
#

Send the part where you are registering it in the main class

hollow vessel
#

but with diferent conditionals

vast ledge
#

"Two similar Events"

hollow vessel
#
Stream.of(
                new PurchaseFurnitureInteractController(this.itemsAdderHook, this.houseService, this.pluginConfiguration),
                new HouseInviteController(server, this.houseInviteService, this.messageConfiguration, this.notificationAnnouncer),
                new RentController(this.rentService, this.pluginConfiguration, this.messageConfiguration, this.notificationAnnouncer),
                new AlertController(this.alertService, this.alertHandler, this.pluginConfiguration),
                new PlaceFurnitureController(this.protectionService, this.houseMemberService, this.houseService, this.notificationAnnouncer, this.messageConfiguration),
                new OpenDoorController(
                        this.houseService,
                        this.protectionService,
                        this.houseMemberService,
                        this.notificationAnnouncer,
                        this.messageConfiguration,
                        this.pluginConfiguration
                ),
                new OpenChestController(
                        this.houseService,
                        this.protectionService,
                        this.houseMemberService,
                        this.notificationAnnouncer,
                        this.messageConfiguration,
                        this.pluginConfiguration
                )
        ).forEach(plugin -> this.getServer().getPluginManager().registerEvents(plugin, this));
#

is this what you mean?

brittle geyser
#

omg what is this

vast ledge
#

same

#

Erip, just send your main class please

#

?paste

undone axleBOT
hollow vessel
thin delta
#

I guess I could check if the player doesn't have a placeable block in their hand AND they are sneaking

vast ledge
vast ledge
#

they might also be trying to use a shield tho then

thin delta
#

Maybe empty hand is probably best

vast ledge
#

check that second hand is empty to

brittle geyser
thin delta
#

ehhh that encourages walking around without a shield equiped, which is dangerous

brittle geyser
#

for every controller u need have enable(); for example

thin delta
#

For the specific people I'm playing with

vast ledge
#

@hollow vessel , do any of your other "Controllers" have an PlayerInteractEvent?

vast ledge
#

Theres your solution

#

Thats why its firing twice

#

You're registering the event multiplte time

#

times*

hollow vessel
#

so what is solution

#

I need to have it like this

vast ledge
#

why?

brittle geyser
#

remove event.getHand() and check how many times fires

hollow vessel
#

because it is two different actions

vast ledge
#

And have you ever heard of retrieving Objects from your mainclass?

#

Instead of like

#

having a massive constructor?

brittle geyser
#

use Singleton

hollow vessel
hollow vessel
#

but not always and there is a problem

#

look at my comments in code

brittle geyser
#
private static Test instance;
    public static Test getInstance() {
        if (Test.instance == null) {
            Test.instance = new Test();
        }
        return Test.instance;
    }

    private Test() {

    }

If u have not empty constructor, use this:

private static Test instance;
    public static void initialize() {
        if (Test.instance != null) {
            throw new RuntimeException("Test is already initialized.");
        }
        Test.instance = new Test();
    }
    public static Test getInstance() {
        if (Test.instance == null) {
            throw new RuntimeException("Test is null.");
        }
        return Test.instance;
    }

    private Test() {
      // something
    }
#

And initialize your class in onEnable

#

if need

hollow vessel
#

okay, buy I think this would not fix my problem

brittle geyser
#

This fix your future problems

remote swallow
#

that wont work for a plugin main class

brittle geyser
#

Remove event#getHand method and check is your code fires more than 2 times

hollow vessel
#

okay

brittle geyser
# remote swallow that wont work for a plugin main class
public final class MinesonAPI extends JavaPlugin {

    @Getter
    private static MinesonAPI plugin;

    public MinesonAPI() {
        plugin = this;
    }

    @Override
    public void onEnable() {
        // something
    }

    @Override
    public void onDisable() {
        // something
    }
}
remote swallow
#

if your main class is a singleton

#

it wont work

brittle geyser
#

what?

remote swallow
#

what you originally sent creates a new isntance of the class

dapper flower
#

I need to get an item stack of water bottles, does new ItemStack(Material.POTION) do that or do i need some extra steps?

remote swallow
#

the stuff you just sent might work

brittle geyser
#

I know it works

remote swallow
#

you cannot use that for your class that extends java plugion

#

it creates a new instance of the class causing an error

vast ledge
#

This seems much simpler

remote swallow
#

^^

vast ledge
brittle geyser
#

xd

brittle geyser
vast ledge
#

Just use
#registerEvents(event, instance)
instead of your Complicated stuff

hollow vessel
#

i am registring them the same way

brittle geyser
#
public class EventManager implements Listener {
    private EventManager() {
    }

    public static void callEvent(@NonNull Plugin plugin, @NonNull Event event) {
        plugin.getServer().getPluginManager().callEvent(event);
    }

    public static <E extends Event> void register(Plugin plugin, @NonNull Class<E> event, @NonNull Consumer<E> consumer) throws IllegalStateException, IllegalArgumentException {
        register(plugin, event, EventPriority.NORMAL, consumer);
    }

    public static <E extends Event> void register(Plugin plugin, @NonNull Class<E> event, @NonNull EventPriority priority, @NonNull Consumer<E> consumer) {
        plugin.getServer().getPluginManager().registerEvent(event, this, priority, (listener, events) -> {
            if (event.isInstance(events)) {
                consumer.accept(event.cast(events));
            }
        }, plugin);
    }

    public void unregisterAll() {
        HandlerList.unregisterAll(this);
    }
}
#

Or u can use this for easy event use

hollow vessel
#

i will delete second PlayerInteractEvent for test, and check if it will fires twice again

brittle geyser
#

kk

orchid trout
hollow vessel
#

so it is not problem with two events

hollow vessel
brittle geyser
remote swallow
#

?di

undone axleBOT
brittle geyser
#

and declaring class in onEnable()?

orchid trout
#

pretty much

river oracle
#

DI for plugin instance is more annoying than it is beneficial

#

Static instance field 💪

orchid trout
#

i use both

hollow vessel
lime narwhal
#

Hello there, i'm lost af, since been long time i didnt made minecraft plugin, it seems it changed a lot, how about create a plugin basicly ? I mean, should i create a pom.xml ? if yes what should i put in <repositories>

#

I'm using buildtools

pliant topaz
#

Why is it, that this map: private static Map<Integer, ToolUpgrades> toolUpgradesIndexes = new HashMap<>();
when adding new values to it:
toolUpgradesIndexes.put(-1, ToolUpgrades.TOOL_UPGRADE_DEBUG);
throws an UnsupportedOperationException even tho, if I'm not wrong, it should be mutable?

brittle geyser
#

Send error and code

#

?paste

undone axleBOT
eternal oxide
#

show the actual code you are using

pliant topaz
#

two messages above message i replied to

tidal glacier
#

@ancient plank

#

Hey!

#

I want a promotion, I can pay too!

eternal oxide
#

list.of is immutable

pliant topaz
#

oh, sry

#

thats older code

#

new one i fixed the one with list

#

it's only the map which is immutable

#

how'd I make it mutable? as i used this initilization in other classes and I didn't have any issues with putting stuff into it

eternal oxide
#

?paste the actual code you are using

undone axleBOT
eternal oxide
#

the whole class

pliant topaz
tall dragon
#

static galore troll_face

eternal oxide
#

too much static

pliant topaz
#

it's a manager

#

basically every method there is used in one form or another in othger classes

#

including the map and list initialized at the top

tall dragon
#

thats no explaination for making it all static

#

but anyway

#

whats happening in ToolUpgradeBuilder

#

since i see you use List.of there

eternal oxide
#

ToolUpgrades.java:17

#

what is that?

tall dragon
#

since thats the error from before i pointed out the immutable collection

eternal oxide
#

seems nto as the error is saying 21 and it can;t be that as that is just a static map

#

give use teh current error, not an old one

pliant topaz
#

still the current one

#

line 25 now tho as i reformatted code to make it look cleaner

#

wait

eternal oxide
#

its impossible for line 21 in ToolManager to error

pliant topaz
tall dragon
#

thats a whole dif error lol

eternal oxide
#

now show us ToolUpgrades

pliant topaz
tall dragon
#

well there u go

#

description list is immutable

#

this probably

pliant topaz
#

ohh

#

well that it might be, i'll check

lost matrix
#

What am i seeing here...

pliant topaz
#

just gonna wrap it in an arraylist right?

eternal oxide
#

Close your eyes

tall dragon
#

u can

eternal oxide
#

You will never recover

worthy yarrow
#

Sorta like looking into the eclipse with no glasses

tall dragon
#

since its a much better aproach to custom items

lost matrix
#

Myeah that thread def needs an overhaul

tall dragon
#

its still better by a few miles

worthy yarrow
#

@lost matrix have you googled spigot api questions, the results are quite laughable

#

I’m sure any resource you put any work into would be better than most

lost matrix
#

Didnt know this existed

worthy yarrow
#

Lmao

#

That’s so funny

pliant topaz
#

at least my code works, that's all I really care about for now haha, ik i'm not really good at java

young knoll
#

At least it’s not a certain academy

lost matrix
#

Wait where is the huge verano msg?

worthy yarrow
#

What was cmarcos philosophy called?

river oracle
sterile token
#

Database related questions

worthy yarrow
sterile token
river oracle
sterile token
#

do you still works with dbs?

#

im fine too, burning my nuts as usual doing a school work haha

lost matrix
# sterile token do you still works with dbs?

No we all stopped working with DBs. Too much work. Everyone only astral projects their data into another dimension and quantum entangles the bits so the data is always up-to-date.

rough ibex
#

sort(data) -> "the data is already sorted in another multiverse, go there"

lost matrix
#

MultiverseSort

tall dragon
#

InterruptedException - waiting for dr strange to arrive to find correct multiverse

icy beacon
tardy delta
#

just use github as a database

dawn flower
#

how do i give a mob a custom bossbar

icy beacon
thin delta
#

Is there something like getTargetBlock but for entities?

icy beacon
#

rayTraceEntities perhaps could be your friend

#

not sure if there's a direct way of getting the target entity

dawn flower
# dawn flower how do i give a mob a custom bossbar

ik i can create a bossbar and show it to nearby players when the mob spawns and set the progress to (health / max health) * 100 everytime the mob is damaged but cmon, that's too much work there must be a better way

icy beacon
thin delta
#

is it possible to summon a shulker that is invisible, not interactable, and has no collider?

echo basalt
#

are you trying to make glowing blocks

proven musk
#

you mean summon nothing at all

#

ah

lost matrix
#

Use slimes instead

thin delta
lost matrix
#

Invis shulker have this weird core thats visible

echo basalt
#

classic

dawn flower
#

use display blocks instead (not sure if that can glow)

echo basalt
#

doubt

dawn flower
#

would be cool if they could

thin delta
#

I'm kind of a noob in regards to spigot

#

So I'm trying to find the best way lol

dawn flower
#

try to make display blocks glow, if u cant use slime

lost matrix
#

Someone should write a guide for that 🤔

thin delta
#

stumbling through lol

young knoll
#

Block displays can glow, yes

#

But they need a block

lost matrix
#

The render pipeline for block displays is sometimes scuffed. There are weird occlusion problems with text displays

dawn flower
#

barrier

#

set it as barrier

#

or just choose any block like gold and make it invisible

young knoll
#

Needs to be visible

#

Otherwise there will be nothing to make glow

dawn flower
#

glow works on invisible entities

thin delta
#

I'm trying to use getTargetBlock, and then put a glowing border around that one

dawn flower
#

that's the whole point of vanilla glow

lost matrix
#

Hm, let ill do some testing

thin delta
#

I just don't know if that's plausible, or if I should just put an invisible wither skull inside said block and add glow effect

young knoll
#

Well, if it's a solid block just stick a display entity inside it

#

It won't be visible anyway

thin delta
#

Which entity should I use?

#

Or does it not really matter

young knoll
#

BlockDisplay

#

Set the block to be the same as the one you spawn it in

dawn flower
#

i did some testing

#

block display cant glow

young knoll
#

That's false

dawn flower
#

/summon block_display ~ ~ ~ {Glowing:1b,block_state:{Name:"minecraft:dirt"}}

young knoll
#

It's glowing for me

dawn flower
#

weird

young knoll
#

You can also do RGB glow colors

#

/summon block_display ~ ~ ~ {Glowing:1b,glow_color_override:15345345,block_state:{Name:"minecraft:oak_stairs",Properties:{facing:"north"}}}

#

Pink stairs

dawn flower
#

oh wait i had anti glow on

#

yeah it glows

lost matrix
#

Barrier didnt work. Glass looks a bit off

  private void setGlowing(Block block) {
    World world = block.getWorld();
    world.spawn(block.getLocation(), BlockDisplay.class, display -> {
      display.setBlock(Material.GLASS.createBlockData());
      display.setGlowing(true);
      display.setGlowColorOverride(Color.FUCHSIA);
      display.setPersistent(false);
    });
  }
rough ibex
#

It does look super cool though

tardy delta
#

looks like the next level xray

dawn flower
#

i wonder what block would be the best

rough ibex
#

tinted glass?

young knoll
#

Just use a solid block?

#

Like stone

agile hollow
#

how can i copy and paste every x time with worledit from a location to another? or like load a schematic in a specific position

young knoll
#

Alternatively, use the block you click on?

#

It'll match perfectly

dawn flower
#

what if u clicked on a weird block like glass

young knoll
#

Then it'll match the glass?

thin delta
#

Oh shit

#

I am working with a 1.12.2 jar lololol

#

that's how long ago I last really touched plugin stuff lol

worthy yarrow
lost matrix
dawn flower
#

hot stuff

tardy delta
#

wooo

dawn flower
#

doesnt show deepslate, lame

worthy yarrow
lost matrix
#

But that made me realize how rare normal dias are.

dawn flower
#

1.17 or 1.18 iirc ruined dias

lost matrix
#

Well its just a if (block.getType() == Material.DIAMOND_ORE).
Was just messing around in a few lines of code.

dawn flower
lost matrix
worthy yarrow
#

I don't think you should ask that...

lost matrix
worthy yarrow
#

Oh nvm smile is just cool

thin delta
#

Would someone mind helping me with some errors?

slender elbow
#

i would

lost matrix
#

I literally wrote this in 2 minutes... dont ask

thin delta
#

this thing is blowing up haha

lost matrix
#

What version are you on?

slender elbow
#

BlockDispenseEvent

#

erm

lost matrix
#

lul

young knoll
#

Boom optimized

thin delta
#

Do I need to delete the 1.12.2.jar?

lost matrix
#

Im not sure how to answer that

thin delta
#

Sorry, I literally only use eclipse for minecraft plugins and I've not touched it in a very very long time lol

lost matrix
#

Your IDE is fine. Just that most people here use maven for managing dependencies.
But removing old dependencies is def a good start.

thin delta
#

Yeah it really didn't like that lol

frail pilot
#

Downsides of the Bootstrap :/

orchid trout
#

did you update the dependency in the project settings?

dawn flower
#

i can't tell the difference between errors in eclipse and coloring

delicate lynx
#

benefits to make people use a proper build system

thin delta
frail pilot
#

Just guessing but you I think can't depend on the current 1.20.4 jar directly produced by the BuildTools

thin delta
lime narwhal
#

Someone have exemple how to use that depency on maven for connect db ?

<dependency>
            <groupId>org.apache.commons.dbcp2</groupId>
            <artifactId>commons-dbcp2</artifactId>
            <version>2.12.0</version>
        </dependency>
undone axleBOT
#

Bootstrap Jar
The main spigot-1.18.jar is now a bootstrap jar which contains all libraries. You cannot directly depend on this jar. You should depend on Spigot/Spigot-API/target/spigot-api-1.18-R0.1-SNAPSHOT-shaded.jar, or the entire contents of the bundler directory from your server, or use a dependency manager such as Maven or Gradle to handle this automatically.

Please read the release notes for further information: https://www.spigotmc.org/threads/9-years-of-spigotmc-spigot-bungeecord-1-18-1-18-1-release.534760/#post-4305163

frail pilot
#

Yep

lime narwhal
tardy delta
#

sounds like some goofy dependency

frail pilot
lime narwhal
#

Yes but i'm a dick

#

how to do it ?

river oracle
river oracle
#

Otherwise you might have the wrong dep

echo basalt
lime narwhal
#

Well, you're a genius, thx mate 🙂

echo basalt
#

I've made server side xray with fake barrier blocks before

thin delta
# thin delta

So I tested this with a 1.16.5 jar and it fixed my errors

echo basalt
#

You'd see ores everywhere other than the block you were breaking

thin delta
#

But the 1.20.4 one screws things up

river oracle
undone axleBOT
#

Bootstrap Jar
The main spigot-1.18.jar is now a bootstrap jar which contains all libraries. You cannot directly depend on this jar. You should depend on Spigot/Spigot-API/target/spigot-api-1.18-R0.1-SNAPSHOT-shaded.jar, or the entire contents of the bundler directory from your server, or use a dependency manager such as Maven or Gradle to handle this automatically.

Please read the release notes for further information: https://www.spigotmc.org/threads/9-years-of-spigotmc-spigot-bungeecord-1-18-1-18-1-release.534760/#post-4305163

thin delta
#

Maybe conflicting java versions?

thin delta
#

damnit, I hate messing with dependencies

thin delta
inner mulch
thin delta
#

where can I get the boostrap shaded jar for 1.20.4?

#

Or do I just use this buildtools.jar as my dependency?

rotund ravine
#

Build it with buildtools

thin delta
rotund ravine
#

It will be installed to your local maven repo

thin delta
#

So, I use eclipse

rotund ravine
#

So? That’s not an issue

thin delta
#

Ok wasn't sure

agile hollow
#

someone here can me help you with the WolrdEdit Api?

rotund ravine
#

Go to their discord

proven musk
#

how would you do pathfinding

#

is that rly annoying

#

like to make custom ai for mobs

#

or for npc players?

young knoll
#

Just implement the NMS pathfinder goal

#

They are fairly simple to understand

proven musk
#

cool

thin delta
frail pilot
#

And then install a jar in your local repo -> that means somewhere it places the jar somewhere on the filesystem

thin delta
#

Right, but that's a bootstrap so I can't use that as a dependency, correct?

frail pilot
#

I don't remember what's the default path for the maven local repo

#

Nop, not the one placed on the maven local repo

thin delta
#

ah

frail pilot
#

Because this one is supposed to be used by maven

#

Somewhere in your User directory

#

(In C:\Users\YourUsername)

#

You should find a .m2 directory

#

In that directory you whould have multiple sub dirs with jar in it

#

And somewhere the jar you can depend on

thin delta
#

gotcha

#

Just how do I know which one I am supposed to use haha

frail pilot
#

Hmmm

#

The one in org\spigotmc\spigot\

#

And it should be named spigot-v1.20.4-R1.jar

#

Or smth like that

thin delta
#

Found it!

#

Ok I'll toss that in and see if that works

#

hmm yeah, I don't see any difference

frail pilot
#

But honestly if you have one hour of free time just try to learn maven, it's very simple and will save you a lot of time

#

Did you refresh eclipse ?

thin delta
#

Yes

frail pilot
#

Ok give 2 secs

worldly ingot
tardy delta
#

i had a stroke and read Choco as CMarco

worldly ingot
#
private void displayNearbyOres(Player player) {
    World world = player.getWorld();
    for (int x = -16; x <= 16; x++) {
        for (int y = -16; y <= 16; y++) {
            for (int z = -16; z <= 16; z++) {
                Material material = world.getType(x, y, z);
                if (material == Material.DIAMOND_ORE /* probably fine to hash x, y, and z together and check if it's in a Set */) {
                    this.setGlowingBlock(world, x, y, z, material);
                }
            }
        }
    }
}

private void setGlowingBlock(World world, int x, int y, int z, Material material) {
    world.spawn(new Location(world, x, y, z), BlockDisplay.class, display -> {
        display.setBlock(material.createBlockData());
        display.setGlowing(true);
        display.setGlowColorOverride(Color.FUCHSIA);
        display.setPersistent(false);
    });
}
#

No Block allocation, only one Location allocation and only if necessary to spawn the entity, reusing player.getWorld()

tardy delta
#

how would that hashing work

worldly ingot
#

Can just compact them together in a single long

#

I was too lazy to write it but you absolutely could do it lol

fringe yew
#
while(true) {
}
tardy delta
#

i dont see how putting x, y and z together would work

worldly ingot
#

Why not?

tardy delta
#

i dont understand what you mean with it

worldly ingot
#

You can represent an x, y, and z coordinate in a single long

young knoll
#

Compact them into one long

tardy delta
#

and then?

worldly ingot
#

It would replace the need for a Set<Block>. You would use a Set<Long> instead

slender elbow
worldly ingot
#

The point is that you're skipping the allocation of like hundreds of CraftBlock instances

tardy delta
#

what set lol

worldly ingot
#

Actually, 4,000

tardy delta
#

brain is fried, set for materials or what are we talking about

worldly ingot
#

The original snippet had glowingBlocks.containsKey(block), so a Map I guess

tardy delta
#

ahh i kept looking at your code

young knoll
#

You need 26 bits for X, 12 for Y, and 26 for Z

#

Which perfectly adds to 64

worldly ingot
#

because maffs

young knoll
#

I wonder if that's intentional by Mojang

worldly ingot
#

Very, very likely

rotund ravine
young knoll
#

Because the 30 million worldborder is otherwise arbitrary

thin delta
# rotund ravine Just switch to maven

If I can fix my issue more quicker than switching, I'd rather do that. 1.12 was my last time I seriously did plugin work and I probably wont do it again for a while after this

frail pilot
# thin delta

My bad try with spigot-api-1.20.4-R0.1-SNAPSHOT-shaded.jar, it looks like the spigot jar does not contains the api by default anymore

young knoll
#

?bootstrap

undone axleBOT
#

Bootstrap Jar
The main spigot-1.18.jar is now a bootstrap jar which contains all libraries. You cannot directly depend on this jar. You should depend on Spigot/Spigot-API/target/spigot-api-1.18-R0.1-SNAPSHOT-shaded.jar, or the entire contents of the bundler directory from your server, or use a dependency manager such as Maven or Gradle to handle this automatically.

Please read the release notes for further information: https://www.spigotmc.org/threads/9-years-of-spigotmc-spigot-bungeecord-1-18-1-18-1-release.534760/#post-4305163

thin delta
#

However, I have less errors than previously lol

frail pilot
#

Not the right class I guess

inner mulch
frail pilot
#

BlockDispenseEvent.class should be BlockDisplay.class

#

line 52

thin delta
thin delta
inner mulch
#

umm is this intented or a glitch by spigot?

blazing ocean
inner mulch
#

barrier

#

in blockdisplay

#

barrier not block

#

barrier item

orchid trout
#

what would be the point of a barrier block display

inner mulch
#

invisible blockdisplay

gleaming grove
#

you can set it as Air (ItemDisplays)

stiff sonnet
#

just the glowing border?

#

the whole point of them is that you can see them

stiff sonnet
lost matrix
worldly ingot
#

Yeah it's just a black and white mask that gets a colour rendered around the black areas afaik

#

No depth testing

lost matrix
#

You can write a shader and literally change an out value from 1 to 10 and have huge borders. Its quite primitive.

thin delta
lilac dagger
#

is there a better way to get the enum type other than this?

#

chatgpt ftw

young knoll
#

I was gonna say that

tardy delta
#

should stop drinking poison

#

i thought Enum::values was a thing but i keep forgetting java changed it

inner mulch
#

whats the mathemetical approach to connect to points?

lilac dagger
#

connect 2 points how exactly?

#

to get n points between the 2 points?

inner mulch
#

2 blocks and then set a material in between

lilac dagger
#

substract one from the other, transform to vector, normalize

#

and multiply it to get n block

inner mulch
#

i think chatgpt is the way, i dont know any of the things you just said

#

too much math

#

my brain not able to comprehend

lilac dagger
#

it's not that hard lol

#

loc1 sub loc 2 to vector#normalize

#

vector multiply

#

so if you multiply by 10 you get the 10th block

#

and so on

#

if you want to do it for all the blocks between 2 points you get the distance and iterate the distance and add the vector to a location

young knoll
#

There’s also #midpoint

inner mulch
#

i cant

#

i dont understnad any of this

lilac dagger
#

is that the middle formula?

inner mulch
#

chatgpt gonna be my math man

young knoll
#

Midpoint just gets the point equal distance between two vectors

lilac dagger
#

it is

#

yeah

#

you can get the middle * 2

#

wait no, this won't work

young knoll
#

I mean he said in between

#

Idk if that means just the middle or a line

#

Or a cube

lilac dagger
#

true

worthy yarrow
#

How would I get the name of a structureType given theres no .name method for the constants?

young knoll
#

It’s keyed

#

Get the key

worthy yarrow
#

.ToString work fine to relate a message of the given type?

young knoll
#

Depends what you want to show

#

ToString will get you something like “minecraft:igloo”

worthy yarrow
#

Just the name of the structure, so i suppose that works I just need to rid of the minecraft: part

young knoll
#

getKey on the namespaced key iirc

#

getNamespace is the other half

worthy yarrow
#

.replace("%structureType%", searchResult.getStructure().getKey().getNamespace()
This should be fine then eh?

young knoll
#

Pretty sure you want getKey

#

getNamespace is the “minecraft” part

worthy yarrow
#

Oh gotcha

thin delta
#

Any way to make glow effects only visible for specific players and not others?

rotund ravine
#

Yes

young knoll
#

Don’t think so with the api

#

Unless teams works for that

vast ledge
#

Probs need protocol Lib

#

tbh

young knoll
#

Or just NMS, yeah

vast ledge
acoustic pendant
#

Why is this not working but left click does?

worthy yarrow
#

Do you mean when they left click it works and when they right click it doesnt? That's because you're checking if the click is not a right click " != "

acoustic pendant
#

when I put the action to LEFT_CLICK it works with it

#

but RIGHT_CLICK doesn't work in any manner

worthy yarrow
#

Hmm

acoustic pendant
#

yeah, tried again, LEFT works fine but RIGHT just doesn't do anything

young knoll
#

Right click air will only fire when holding an item

acoustic pendant
#

Can that be changed?

young knoll
#

No

#

The client doesn’t send anything to the server if you right click with no item

acoustic pendant
#

Yea, that makes sense

inner mulch
#

why does setCollidable false only work on certain entities?

river oracle
#

I believe it only doesn't work on players

inner mulch
#

it sdoent work on slimes either

river oracle
#

Weird

#

Idk why slimes would be but players is because only teams allows that to work

inner mulch
#

and why does setinvulnerable still allow me to kill the entity?

#

it just doesnt die to kill @e

#

but everything else kills it

vast ledge
#

Wdym everything else?

#

.-.

river oracle
#

You can kill it in any way but kill @e

#

Pretty straight forward kek

inner mulch
#

ITS A LIE

#

lying is not ocp

vast ledge
river oracle
#

How much you wanna bet he's in creative kek

vast ledge
#

He probs is xD

river oracle
#

This is why we test in survival boys

vast ledge
#

If you want to make it unkillable, grab the EntityDamagedByEntity event, check entity id, cancel it

tender shard
vast ledge
#

Im not good with straight lines xD

young knoll
#

For collision use scoreboard teams

#

And yeah invulnerable should make it immune to everything other than creative players and /kill

inner mulch
#

seems like a bug to me

river oracle
#

Mpjang bug

#

Replixate in vanilla3

#

Jekke

vast ledge
#

Ingles?

young knoll
#

I think he’s drunk

river oracle
#

No I'm not drinking and driving us illegal

#

Also I'm sober for life because boring me

vast ledge
#

I cant put it on left or right, since i have monitor on left and right

#

@inner mulch

#

Why not

river oracle
#

Ph gawd

ionic thicket
#

.setRemoveWhenFarAway(false);
what does this do?

inner mulch
young knoll
#

Yeah it sets whether the entity naturally despawns or not

ionic thicket
#

well i thought that too, but it doesnt seem to work

ionic thicket
thin delta
#

I'm having trouble with checking for an exact player's name

#

if(player.getName() == "<insert name>")
if I do player.sendMessage(player.getName());, I display the correct name but for whatever reason I cannot seem to compare the strings correctly?

inner mulch
#

is it possible to be in multiple teams?

quiet ice
#

== is an identity comparison and would only work for interned strings (in case of doubt: your strings are not interned).

thin delta
quiet ice
#

This applies to every object btw (even java.lang.Integer and comparable!)

brazen wharf
#

How do i set a Flight hight at a specific Warp?

drowsy helm
#

use a bounding box, check if player is inside of it, if they are, set fly

remote swallow
#

?paste ur class

undone axleBOT
remote swallow
#

ah wait it was just removed

#

use Bukkit

hasty otter
#

Is there something like 1.20.5 pre releases for servers or some? Like to develop against?

#

Cause I don't understand how plugins like ViaVersion release versions that quickly after a new MC version drops...

remote swallow
#

all via version is is modifying protocol data

lilac dagger
#

the mappings are available and also what epic said

remote swallow
#

so they just modify there protocol translations nms and can probably just do the nms without spigot

hasty otter
#

Still, how would they know what the mappings of 1.20.5 will be?

#

Or are they just the same over all MC versions?

lilac dagger
#

the mappings are shipped inside the jar itself i think?

#

i don't actually know

hasty otter
#

They must have some pre release versions of 1.20.5 right?

young knoll
#

Yes

hasty otter
young knoll
#

It’s called the pre releases

lilac dagger
#

^

young knoll
#

First one is already out

remote swallow
hasty otter
#

Oh right, they are simply also in the client side right? Like they won't need a 1.20.5 server to develop against?

remote swallow
#

they probably have there own server patching to test protoclcompat

hasty otter
remote swallow
potent ocean
remote swallow
#

it is intentional

potent ocean
#

alr

hasty otter
remote swallow
#

yeah

#

its on that post

hasty otter
potent ocean
#

Ctrl F

potent ocean
urban kernel
#

🤓

potent ocean
#

Before 1.20.5 was it possible to adjust the scale of the player model?

#

Just using plugins.

#

I feel like it was because I saw it before on some servers with TrollBoss.

young knoll
#

No

#

Well

#

With a bunch of resource pack shenanigans kinda

potent ocean
#

Pretty sure it just cloned the player with small armor stands.