#help-development

1 messages · Page 560 of 1

minor aurora
#

Tornadofx's resources were so horrible I had to learn javafx and try to translate it to tornado

ivory sleet
#

maybe spigot has support for it now tho

young knoll
#

Recipe book click is actually something I’ve made already

#

I gotta pr it still tho

ivory sleet
#

Much love to coll

#

❤️

minor aurora
#

how do you do it tho?

ivory sleet
#

I just tried to understand the abstraction layers

#

And how different objects relate to one another

#

And the event system

wide steeple
ivory sleet
#

Fr

minor aurora
ivory sleet
#

Obsolete I concur with

minor aurora
#

Javafx used to be bundled with java until it wasn't

hybrid spoke
#

but html5 is the future

young knoll
#

Try using swing

hybrid spoke
#

nah

young knoll
#

🙃

hybrid spoke
#

otherwise we end like intellij

#

and intellij is shit

#

and yet the best ide you can use

wide steeple
#

Wasn’t it like, JDK11 when they removed JavaFX?

hybrid spoke
#

yeah

wide steeple
#

Or am I insane

young knoll
ivory sleet
#

Yeah intellij pretty shit but still best out there

wide steeple
#

JDK11 feels pretty recent to me

hybrid spoke
#

they even removed my beloved Pair with it

wide steeple
minor aurora
#

Okay I think this will start me up...

How do I listen to some sort of "player broke a block" event?
Where are my plugin's local files in a server?

ivory sleet
#

./plugins/<PluginName>/hereshould.filesbe

eternal oxide
#

?jd-s search blockbreak

undone axleBOT
young knoll
#

(BlockBreakEvent)

#

You can technically have your plugin files saved anywhere, but the standard is to use Plugin#getDataFolder

wide steeple
minor aurora
wide steeple
#

And a block damage one

ivory sleet
#

Yes Plugin#getDataFolder

hybrid spoke
ivory sleet
#

Altho it returns File and not Path

minor aurora
young knoll
#

Gotta love the File(File, String) constructor

hybrid spoke
ivory sleet
#

File is pretty horrendous

#

Legacy file api

#

Has a bunch of flaws basically

young knoll
#

All these nio millennials

#

Back in my day

hybrid spoke
#

coll you are 12 or smth

minor aurora
young knoll
#

I wish I was still 12

minor aurora
ivory sleet
young knoll
#

Get a nice do over for the teenage years

wide steeple
ivory sleet
#

Because it works

eternal oxide
#

and so widely used

ivory sleet
#

And its gonna be deprecated sooner or later

ivory sleet
#

For instance its not as “serious” as Object#finalize

#

Which if use that, lets just say I wouldn’t go near physically

young knoll
#

What’s the new thing for that

#

Choco mentioned it earlier

minor aurora
#

Aight, I'll use Path from now on! I used to use File for everything because of how practical it was

ivory sleet
#

Nice :)

young knoll
#

Do we need a Plugin#getDataPath now

hybrid spoke
ivory sleet
young knoll
#

Is the nio stuff in java 8 XD

ivory sleet
#

Mhm

young knoll
#

Nice

wide steeple
#

But I seriously need sleep now

#

Been up for 41 hours

minor aurora
#

Oh I posted on the wrong chat... I'll delete and post here

ivory sleet
wide steeple
#

Goodnight ppls

minor aurora
#

I love kotlin. It's just beautiful

young knoll
#

Cleaner

ivory sleet
#

Goonight

young knoll
#

That’s the one

ivory sleet
minor aurora
#

I see I need to register listeners on enable for my plugin. Can I do it with reflection?

ivory sleet
#

Usually in onenable

#

getServer().getPluginManager(listener, plugin)

eternal oxide
#

you can but it's annoying

ivory sleet
#

Its a bad practice I’d say

minor aurora
#

yes, in onEnable. I mean that I have to make listener classes, then instance those listeners, then register them.
That means that for every listener I have to make a new instance and a new register and I wish to avoid that

#

Is there a good way to do it?

ivory sleet
#

Well not rly

#

I mean just do it for now

#

Altho later on, registerEvent may be favorable

young knoll
#

I still don’t fully get registerEvent

river oracle
#

I've never used registerEvent what does it do lol

ivory sleet
#

What don’t you get lol

eternal oxide
#

you can lambda but it's much better to just create a class

minor aurora
young knoll
#

You still need a listener for it don’t you

eternal oxide
#
    try {
        Class<?> evnt = Class.forName("org.bukkit.event.entity.EntityDamageByEntity");
        Bukkit.getPluginManager().registerEvent(evnt, new Listener() {}, EventPriority.NORMAL, (listener, event) -> {
            // Do your thing here
        }, this);
    } catch(ClassNotFoundException ex) {}```
ivory sleet
#

EventExecutor which is basically
Event, Listener -> void

#

the listener being new Listener(){} in elgars example

#

But like its there because, u can reuse the same event executor for multiple listener instances

young knoll
#

I see

ivory sleet
#

Idk

#

Bukkit does it I think

young knoll
#

When do get registerEvent(Class<T>, Consumer<T>)

ivory sleet
#

It uses registerEvents

#

not registerEvent

#

hint: s at the end

young knoll
#

Actually let’s rip off forge and do

#

@fresh templetListener class annotation

ivory sleet
#

🥲

young knoll
#

Sigh I never remember to codeblock my annotations

#

Sorry even

river oracle
#

That's evens fault

minor aurora
#

Reminds me of Java's File and Files

ivory sleet
#

Yeah classic one

buoyant viper
ivory sleet
#

Tho

#

Think of Files, Objects, Collections etc as utility classes with factory methods, helper methods and utility methods

young knoll
#

Just replace T with T extends Event

buoyant viper
#

well isnt there like Event and then CancellableEvent that doesnt extend Event for some reason?

young knoll
#

No

#

Cancellable is an interface

buoyant viper
#

oh, wtf was i looking at then

#

some event api i had looked at accidentally made it very hard to (nicely) generify bc of that

worldly ingot
#

Sponge iirc does this

young knoll
#

But yeah a method like that is doable

#

(Might want another param for priority)

worldly ingot
#

Mmm, no, Sponge doesn't do that. It has a Cancellable interface too lol

buoyant viper
#

void <T extends Event> <T> registerEvent(Class<T> event, int priority, Consumer<T> handler, JavaPlugin plugin)

ivory sleet
#

interface EventCallback<E extends Event> extends Listener {
void onEvent(E event);
static <E extends Event> void register(Class<E> type, EventCallback<E> callback, Plugin plugin) {
plugin.getServer().getPluginManager().registerEvent(plugin,priority,type,callback,(listener, event) -> callback.onEvent(type.cast(event));

}
}
Maybe?

astral scroll
young knoll
#

Oh god the generics are rising

#

Soon they will take over

buoyant viper
#

just wait for Valhalla

ivory sleet
#

^

#

java wars 3: revenge of the valhalla

buoyant viper
#

cant wait for List<int> instead of List<Integer>

wise mesa
#

does player interact event not fire if the player right clicks air AND is holding nothing?

young knoll
#

Correct

#

The client doesn’t send a packet for that

wise mesa
#

tragic

young knoll
#

I think it used to

#

But Mojang hit it with the optimization

minor aurora
ivory sleet
#

Well I mean its not really that much of a difference in the end

#

Cuz kotlin has to adhere to java and interop

minor aurora
#

I'm making an RPG plugin as a first plugin. Is it a bad idea?

ivory sleet
#

Ambitious

minor aurora
#

I see...
You see, the thing is that after seeing mcmmo's codebase (and the original author's own distaste towards it) I thought..
What if I could make an rpg plugin that was SO complete and modular it was essentially an API any server owner could configure via YML?

ivory sleet
#

Ye go for it

minor aurora
astral scroll
#

I have this code for custom configs: https://paste.md-5.net/avikohudiv.java
It is actually saving the file into the plugin folder, but not writing the stuff i write into resources:
Supposed to write this:
Actually looks like this:

minor aurora
#

Oh man it's worse than I thought

#

It's practical, sure, but not configurable at all!

worldly ingot
#

Ah McMMO

#

How we love your codebase

young knoll
#

Is it better or worse than spigots

worldly ingot
#

It's like if SlimeFun decided it wanted to be an MMO

#

A lot of the big plugins have horrendously bad codebases. SlimeFun, McMMO, GriefPrevention (omg don't get me started), LiteBans

young knoll
#

Just goes to show

#

Nobody cares if it gets the job done

floral drum
#

big != good 😉

hybrid spoke
#

once the project is big enough, you really aren't in the position to refact it properly anymore

#

so you just add add add

#

and there you go

#

and most likely you dont even know anymore what the most shit is doing and you just see a gap where you can place another shit like

"huh, wonder what that does but i can place that feature here. the other stuff is not my beer"

young knoll
#

Tech debt

floral drum
#

this is why modular systems are cool :)

brazen stream
#

Can someone help this doesn't set the top half of a door

public void ReplaceDoor(Location location, Material doorType, BlockFace face)
        {
            Block bottom = location.getBlock();
            Block top = bottom.getRelative(BlockFace.UP);

            Bukkit.broadcastMessage(doorType.name());
            bottom.setType(doorType, false);
            top.setType(doorType, false);

            Door d1 = (Door)bottom.getBlockData();
            Door d2 = (Door)top.getBlockData();

            d1.setHalf(Bisected.Half.BOTTOM);
            d2.setHalf(Bisected.Half.TOP);

            d1.setFacing(face);
            d2.setFacing(face);

            bottom.setBlockData(d1);
            top.setBlockData(d2);
        }
eternal oxide
#

try doorType.createBlockData()

#

then modify for top and bottom

brazen stream
#

okay will try ty

minor aurora
#

When creating my own event, after adding the static stuff, will creating event listeners (with the right event parameter type) just work?

#

In other words, do I not have to register the listeners?

eternal oxide
#

depends, are you calling the event?

minor aurora
#

I'd probably call the event off of another event.

eternal oxide
#

yes you have to register a listener to listen

minor aurora
#

d'Oh of course you do, I meant something like.. nevermind it all makes sense now

#

registerEvents manages registering listeners for all the events I've set up?

eternal oxide
#

registerEvents registers all the events you have IN a listener class

#

so long as you created an EventHandler for each in the Listener

minor aurora
#

great, thanks

whole stirrup
#

Is a Player object able to represent an offline player or can they only be represented by OfflinePlayer?

young knoll
#

A player does not have to be online

#

But you won’t get a Player object if they aren’t online

#

However it’s possible to get a Player object and then have them disconnect

wet breach
#

Technically it is also possible to create a semi quasi player object too

#

Generally however it isnt needed nor really recommended lol

obsidian plinth
#

ngl i hate updates to mc as its always effort to udpate

#

and 80% of the time like 2 cool things r added

brazen stream
#

heyy how do you get the direction a door is facing? I want to spawn a door exactly the way it's looking, so I'm doing this:

            Door d1 = (Door)bottom.getBlockData();
            Door d2 = (Door)top.getBlockData();

            d1.setFacing(world.getBlockAt(location).getFace(world.getBlockAt(location)));
            d2.setFacing(world.getBlockAt(location).getFace(world.getBlockAt(location)));

I don't think I'm using it correctly

wet breach
vagrant stratus
#

Any way to get an Evoker or Illusioner to play their Celebrating animation?
There's no API for it so I assume it's packet based if even possible server-side

#

Ah, there is NMS code actually

net/minecraft/world/entity/raid/EntityRaider
isCelebrating()
setCelebrating()

so maybe a different way within the bukkit API?

#

Yea no, you can't set those two via the Entity API. You can only get the celebration sound

wet breach
#

Sometimes you can use that to set such things

vagrant stratus
#

It's something that's gotta be added to the Raider class

wet breach
#

Ah

vagrant stratus
#

And then of course, implemented on the NMS side

wet breach
#

Time for a pr

vagrant stratus
#

Paper has it kek

wet breach
#

Pr it anyways

vagrant stratus
#

I haven't signed the CLA, nor do I plan on doing so

wet breach
#

Lol

vagrant stratus
#

@worldly ingot want an easy PR

wet breach
#

Then maybe i will

minor aurora
#

[Kotlin] What should I put as my Main in the yml?

vagrant stratus
#

Not too sure where it gets implemented on the NMS side actually

minor aurora
#

I built using gradle's jar task, and plopped the jar in the plugins folder of my spigot server

#

yet it doesn't appear in the /plugins output

vagrant stratus
minor aurora
#

That page has no mention about kotlin's main, which isn't as easily inferred

vagrant stratus
#

The plugin.yml is the same as java's

minor aurora
#

yes the class paths are not though

wise mesa
#

They should be

#

It’s whatever your class’s package is

#

What package is your class in

minor aurora
#

Help me out then; my JavaPlugin is MKRPGPlugin

wise mesa
#

Can you show us the first line of that class

#

Or the first few

vagrant stratus
#

what is the package?

#

*Assuming kotlin actually tells you that stuff

vagrant stratus
minor aurora
wise mesa
#

The first line of the file

minor aurora
#
import org.bukkit.Bukkit
import org.bukkit.ChatColor
import org.bukkit.plugin.java.JavaPlugin

class MKRPGPlugin : JavaPlugin() {
    val rpgSystem = MKRPGSystem(this)

    override fun onEnable() {

        Bukkit.getLogger().info(ChatColor.GREEN + "Enabled " + this.name);
    }
    override fun onDisable() {
        Bukkit.getLogger().info(ChatColor.RED + "Disabled " + this.name)
    }

    fun registerEvents() {
        val pluginManager = server.pluginManager
    }
}```
wise mesa
#

To be clear

minor aurora
#

This ain't java

wise mesa
#

Or the whole file that works too

#

Can we see your gradle

#

Build.gradle

#

Also consider

#

?paste

undone axleBOT
minor aurora
#

how do I use that command correctly?

#

like that?

wise mesa
#

Okay we’ll it’s one of two things

#

Im pretty sure you have to add a package statement to the beginning of your kt file

#

Your main class

#

But assuming you don’t try your group.project.classname

vagrant stratus
#

I don't think they've even got a proper package

wise mesa
#

You don’t need to put the package for the directories I’m pretty sure

#

But I still think you need a package statement at the beginning of your files

glad prawn
#

kotlin.MKRPGPlugin xd?

minor aurora
minor aurora
#

oh, so I can just add it to a package and it should pretty much work. Aight

wise mesa
#

Yea

#

And you should probably have one anyways instead of having it in the root

#

Oh and also

wise mesa
#

If the main is wrong it’ll show up there

#

And tell you

minor aurora
wise mesa
#

It could’ve been not working for another reason

#

Like that

minor aurora
#

I'll review the tutorial

wise mesa
#

Is it in your resources?

minor aurora
wise mesa
#

Move your plugin.yml into the folder called resources

minor aurora
#

on it

#

Changed icon, seems like that should be it

wise mesa
#

Any file in the resources folder (for gradle and maven at least) will get copied into the jar exactly as is

#

As opposed to in the java or kotlin folders where they would be compiled

#

Presumably

minor aurora
#

Alright. it took me for an error and debugging loop and now I'm at trying to get the correct supported api version

#

I'm using spigot 1.20.1; and api-version: 1.19.4, console says Unsupported API version 1.19.4
I guess this is because that spigot version is not compatible with that api version? but I don't know

glad prawn
#

1.19

minor aurora
#

Great! now the issue is the main's location. I'll try and if I fail I'll just add the package clause thingy

glad prawn
#

src/main/kotlin

wise mesa
#

I mean you’ll want to add a package clause eventually anyways

#

But I am curious

glad prawn
#

create your package on that

wise mesa
#

So can you try just doing the class name it should be the root

wise mesa
glad prawn
wise mesa
#

We’re a bunch of java users trying to solve a kotlin problem

#

Okay we’ll if it worked then add a package anyways

minor aurora
#

New error~ though: org.bukkit.plugin.InvalidPluginException: java.lang.NoClassDefFoundError: kotlin/jvm/internal/Intrinsics

#

and that seems like a hot one

wise mesa
#

You don’t want your classes to be at root because you’re going to deal with conflicts and what not

#

You need the kotlin stl

#

There’s a plug-in for it

#

Or you could include it in the libraries section of plugin.yml

quiet ice
#

Probably better off using the plugin I'd guess

wise mesa
#

Probably

#

Just google kotlin spigot plug-in

#

There’s like 3 different ones

#

That all do exactly the same thing

minor aurora
#

Finally in business~

#

so, if I were to develop plugins with kotlin, I would have to tell the developer to add stdlib?

#

Should I somehow bundle the stdlib?

ivory sleet
#

Is it an api for a plugin or a library (not a standalone plugin)?

ivory sleet
#

Ur thingy

minor aurora
#

my plugin right now is just a plugin; which I eventually wish to make into a library.

what I am wondering about is the kotlin stdlib

wise mesa
#

It’s just another plugin that yours depends on

minor aurora
#

so, it's normal for kotlin developers to require their users to add this extra lib? (like fabric does it?)

wise mesa
#

Idk about fabric

#

I just know about spigot

ivory sleet
#

If yours is just a plugin

#

Shade it

wise mesa
#

And anyways you could shade it too if you wanted

#

If you don’t want to depend on another plugin

minor aurora
ivory sleet
#

Meant shade the std lib

minor aurora
#

what does it mean to shade the std lib?

#

what is to shade?

ivory sleet
#

To include it in ur jar when compiling

minor aurora
#

oh

minor aurora
wise mesa
#

Yes

#

But when you shade you usually have it change the package of the things your shading

#

So that it doesn’t interfere with what other plugins shade

minor aurora
#

gotcha.
I think I'll keep it separate for now. Thanks for the info

#

one last thing. In java, something like this works Bukkit.getLogger().info(ChatColor.GREEN + "Enabled " + this.name)

#

what I'm doing in Kotlin is Bukkit.getLogger().info(ChatColor.GREEN.toString() + "Enabled " + this.name) but that doesn't seem to work. What's the right way to do it?

wise mesa
#

Mannnn idk

ivory sleet
minor aurora
#

Roger. Thanks for everything! Console sender does use color~

#

Wait didn't they add rgb to minecraft in game text?

#

(as in, not locked to a set amount of colors?)

ivory sleet
#

They did

minor aurora
#

Any idea how I can get my hands on that? is it getHexColor? That one seems slightly complicated (for what it seems to do)

wet breach
#

You would use components for such things

#

There is other methods, just an example so you get the idea in regards to using hex colors

minor aurora
#

Thanks!!

quaint mantle
#

spigot api have a pickaxe tag ?

#

i mean material tag for pickaxes

tardy delta
tardy delta
#

it better aint gone by now then

chilly peak
#

Help how to solve this

quaint mantle
#

refresh maven

#

and add dependency

tardy delta
#

double ctrl, enter mvn reload and enter

#

i hope you ran buildtools tho

chilly peak
#

I am a beginner and know almost nothing.

tardy delta
chilly peak
#

did not help, I rebooted left

#

how to install it

#

and figured out how to install

#

I installed but everything is still the same

livid dove
smoky anchor
livid dove
#

Reason I ask is i was bouncing ideas off it earlier for a PSA forum post i was gonna make and it came up with the exact same format lmao

chilly peak
#

first, as I was told, I restarted Maven, then I followed the link and downloaded BuildTools

smoky anchor
#

Oh I see now, did not scroll high enough

#

?bt

undone axleBOT
smoky anchor
#

read this then

chilly peak
#

ok

compact haven
#

idk bro thinks everything is written with an AI now

livid dove
# sullen marlin Wat

On review I think its cause GPT is dumb and sees those things like "Hey spigot community" lines and is like "mmmm yes.... start any potential thread with this" lol

#

mb

smoky anchor
# sullen marlin Wat

Wait we can just tag md_5 with random stuff ? Cool.
Can you please look at SPIGOT-7118 once more ?
(tho I guess I could check if it still affects latest version)

vital sandal
#

I use commandMap to register commands so is there anyway to register tabcompletioner as well?

sullen marlin
#

I'll add it to a list, but I'm not sure what the real fix is aside from just removing items for activation range since the 1/4 tick rate in vanilla is basically the same as the item always being inactive

smoky anchor
sullen marlin
agile anvil
smoky anchor
# sullen marlin Won't that still have the issue though?

Well yes, but you could have the option to enable this if you really need this small performance boost.
At least that was my idea when I made the report - keep spigot functionality while having the ability to go back to vanilla.

vital sandal
#
for (Class<? extends Command> clazz: new Reflections(packageName+".command.commands").getSubTypesOf(Command.class)){
            try{
                Command command = clazz.getDeclaredConstructor(VendingMachinesPlugin.class).newInstance(this);
                this.commandMap.register("vmp",command);
            } catch (InvocationTargetException | InstantiationException | IllegalAccessException | NoSuchMethodException e) {
                e.printStackTrace();
            }
        }
}
chilly peak
#

@smoky anchor I downloaded Build Tools but nothing helped

smoky anchor
#

Did you run the it as is said in the post ?

vital sandal
agile anvil
#

And what is "command Map" ?

vital sandal
#

and also I got how to fix it thanks^

vital sandal
chilly peak
#

@smoky anchor Are you talking about a bat file?

hazy parrot
#

It's map with all registered commands

vital sandal
#

org.bukkit.command.SimpleCommandMap;

hazy parrot
#

It's used to add commands at runtime

smoky anchor
chilly peak
# smoky anchor `java -jar BuildTools.jar --rev latest`

Yes, I just ran the error: Exception in thread "main" org.eclipse.jgit.errors.RepositoryNotFoundException:
repository not found: C:\Users\User\CraftBukkit
at org.eclipse.jgit.lib.BaseRepositoryBuilder.build(BaseRepositoryBuilde
r.java:627)
at org.eclipse.jgit.api.git.open(Git.java:93)
at org.eclipse.jgit.api.git.open(Git.java:73)
at org.spigotmc.builder.Builder.main(Builder.java:401)
at org.spigotmc.builder.Bootstrap.main(Bootstrap.java:27)

smoky anchor
#

ok that I can not help with...
Hope someone smarter comes here :D

jagged monolith
chilly peak
#

how to run if my BuildTools is in downloads

jagged monolith
#

Open the terminal (command prompt) navigate to where the file is located, then run the java -jar command

quaint mantle
#

how do i ignore java version in start.bat ?

smoky anchor
#

wdym ignore ?
Like use a different one ?

quaint mantle
#

but spigot 1.16.5, only support java 16

#

can i ignore this?

smoky anchor
#

You can't just "ignore" something
You have to use some java to run something.
You can specify a path to a different java version.
Instead of java -jar ... you do "path_to_java" -jar ...

chilly peak
#

@smoky anchor I downloaded BuildTools but it didn't help

smoky anchor
#

You said that thrice
Have you ran the command ?
Did it succeed ?

chilly peak
#

yes

quaint mantle
#

install minecraft plugin dev plugin for intellij

smoky anchor
#

That still would not help him with maven dependency no ?

quaint mantle
smoky anchor
#

But yes, download this.

quaint mantle
chilly peak
#

I have it installed

quaint mantle
chilly peak
#

no i just created a project

quaint mantle
quaint mantle
#

bcs i got errors

chilly peak
#

yes like 1.20

smoky anchor
#

you've been here long enough to know that "errors" mean nothing...

#

What errors

quaint mantle
#

i wll show 1m

quaint mantle
#
java.lang.ClassCastException: class org.bukkit.craftbukkit.v1_16_R3.block.data.CraftBlockData cannot be cast to class org.bukkit.block.data.type.Tripwire (org.bukkit.craftbukkit.v1_16_R3.block.data.CraftBlockData and org.bukkit.block.data.type.Tripwire are in unnamed module of loader 'app')```
smoky anchor
#

I believe you don't do getBlockData but getState

quaint mantle
#

Tripwire tripwire = (Tripwire) e.getBlockState().getBlockData();

smoky anchor
#

e.getBlock().getState()

quaint mantle
#

○6java.lang.ClassCastException: class org.bukkit.craftbukkit.v1_16_R3.block.CraftBlockState cannot be cast to class org.bukkit.block.data.type.Tripwire (org.bukkit.craftbukkit.v1_16_R3.block.CraftBlockState and org.bukkit.block.data.type.Tripwire are in unnamed module of loader 'app')

obsidian plinth
#

tripwire

#

i forgot thos were around

quaint mantle
#

wut

obsidian plinth
#

idk

#

havent said anything in a while

#

lol

quaint mantle
#

😄

obsidian plinth
#

anyone have the new docs for trims and bookshelfs tho

#

i kinda wanna read them

hazy parrot
#

?jd-s

undone axleBOT
desert tinsel
#

Are there any custom world and ore generators API?

agile anvil
#

You could do it yourself using ChunkGenerator

desert tinsel
#

Using math?

agile anvil
#

Otherwise some people made higher level API

#

Yeah you would have to use math ofc

desert tinsel
#

I would like made ores rarely or smth

agile anvil
#

This way you could hook to the default minecraft generator and change the ore generation

desert tinsel
#

What's default minecraft generator

agile anvil
#

The generator that generates overworld as you know

#

Because making your ChunkGenerator basically overrides all generators

#

There is no easy way to change the default mc world gen

smoky anchor
#

Would datapacks not work ?

#

I believe so long you only override the rarity of ores it should be fairly easy.

agile anvil
#

Well I hadn't played with it since the apparition of datapacks, so maybe you could do so with them!

obsidian plinth
#

anyonme good with packets here

smoky anchor
#

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

obsidian plinth
#

?paste

undone axleBOT
obsidian plinth
#

On join im trying to get it to tp the player to the coords (works im not 100% stupid) and make the sky look the end without putting them in the end error and code in link
https://paste.md-5.net/tadonicasa.cs

drowsy helm
#

the lsat part of that sentence made no sense

#

can you rephrase

obsidian plinth
#

makes the overworld sky look like the ends sky

#

sorry im tired and learning packets

noble lantern
#

say i have a new ItemStack(Material.DIRT, 8);

If i have 2 stacks of 4 dirt in my inventory, this method would fire false right?

#

could of swore there was some universal method for checking if a player had x amount of item with data

drowsy helm
#

and i dont think there ever was a method for that

noble lantern
#

So only way is looping and manually counting then, sadge

humble tulip
#

Wait i rem

#

Copy code for remove

noble lantern
#

this wording is weird

humble tulip
noble lantern
#

why couldnt it just use the amount from ItemStack if i need to specify an amount

#

ah prolly for checks larger than 127?

drowsy helm
#

yeah its not bound by that item stack

noble lantern
#

i shall give it a whirl, ty catthumbsup

drowsy helm
#

why not just return false

smoky anchor
#

that code is confusing lol

noble lantern
#

3am, common sense doesnt apply at this time thanks

#

dont roast me please its fixed r_baby_cry

obsidian plinth
#

its 6 am for me

drowsy helm
#

dont know why people try to flex staying up the latest

#

we arent 12 anymore lol

compact haven
#

it might not even be a flex lmfao

#

for example it's 6am for me as well

#

but i've been up for 4 hours

drowsy helm
#

"only" 3 makes it a flex

compact haven
noble lantern
#

true some people are built different and wake up at 6am, i could never kek

compact haven
#

oh

noble lantern
obsidian plinth
#

i sleep at like 4pm

#

lol

compact haven
#

you're operating an AND basically instead of an OR

#

but do you want an OR?

noble lantern
#

not the other

obsidian plinth
compact haven
#

OH

noble lantern
#

mfs hating on my holder variable r_baby_cry

compact haven
#

the new screenshot is the fixed one

#

I didnt see there was 2 screenshots lmfao

obsidian plinth
compact haven
drowsy helm
noble lantern
drowsy helm
#

it wasnt even joke code either

compact haven
#

that's why I like kotlin, you don't even need 3 lines to do that you just need one

noble lantern
#

tbf why even use a method for that kek

compact haven
#

i.e. fun String.validStringLen(): Boolean = this.length > 5
vs. ```
public boolean validStringLength(String str) {
return str.length() > 5;
}

noble lantern
#

unless its some api

smoky anchor
#

when you get paid by the amount of lines of code you write

noble lantern
#

GOD i WISH

compact haven
#

kek exactly

drowsy helm
#

i recently saw the shit with node js having tens of one function dependencies

noble lantern
#

checks project line count

1400

mfw still broke

smoky anchor
compact haven
#

but you get the point lmfao

#

the point is that it's unnecessary to have hte brackets

noble lantern
#

https://www.npmjs.com/package/is-ten-thousand

BEST NPM MODULE!!!!! (Check source code btw)

compact haven
#

I remove the brackets on 1-line if's as well

drowsy helm
#

YES

flint coyote
compact haven
compact haven
drowsy helm
#

no no

#

this

compact haven
#

because then you need to go back and add brackets

drowsy helm
#

the official NPM repo had a leftpad function that failed

flint coyote
#

it's especially annoying if you want to add something to that if and you don't notice the missing brackets

noble lantern
#

nodejs devs are fuckin lazy

tardy delta
#

Array.isArray smh

flint coyote
#

I don't know what's worse. The fact this is downloaded that often or the fact that this is how you check whether something is an array

noble lantern
#

LMAO

noble lantern
#

welcome to javascript

#

okay mr modern man

drowsy helm
#

880,000 is astounding

tardy delta
#

im sorry

noble lantern
#

we aint have all this fancy shit years ago r_baby_cry

#

pre es6 javascript was ass

#

or 5

#

idk so many

tardy delta
#

heehee [10, 1, 3].sort() // -> [1, 10, 3]

drowsy helm
noble lantern
#

you gotta point

still is ass

#

anyone hate when that tiny project u were supposed to make turns into some collosol monster

tardy delta
#

i tried to make a js class on my webdev exam but i didnt even have classes 💀

noble lantern
#

like holy fuck this was just supposed to start out as something to make crops grow back instantly after x ticks r_baby_cry

noble lantern
#

it should if its modernish

#
class Something {
    constructor() {

    }

    get something();
    set something(s);
}
tardy delta
#

wasnt using some modern version or smth

noble lantern
#

das lame

tardy delta
#

i missed types lol, it kept saying that my date was a string and i couldnt figure out why lol

noble lantern
#

thats why typescript is nice :p

#

you can even mix the 2

#

have your data schemas in ts and handle logic in js

tardy delta
#

are types even obliged in typescript?

#

not in lambdas i believe?

noble lantern
#

dunno i just remember using TS and variable types for mongodb schemas and it worked doing that

tardy delta
#

im currently refactoring a discord client written in ts and its absolutely horrible lol

wet breach
#

Wish those were still the days

wraith bane
#

I made a paid resource and it's stuck on "This resource is currently awaiting approval." for exactly 2 weeks
From what I read on the forums they have a weekly routine of checking paid resources for approval, so it should be either approved or denied after 1 week no?

radiant glen
#

how do i check if a creeper exploding

wet breach
subtle folio
radiant glen
#

but i dont wanna check if it exploded

#

i wanna check while its exploding

subtle folio
#

don’t think that’s possible with just the API

tender shard
#

just wait

radiant glen
tender shard
#

my first plugin took 3 months to get approved, my last one was approved within 12 hours

subtle folio
#

then yes

wet breach
radiant glen
noble lantern
#

just do what you need a few ticks later after the entity explode event

wet breach
#

Check the entity for it being an instance of creeper

wraith bane
# tender shard just wait

4 months is crazy, that's almost half a year just for a plugin approval, I have submitted it way in advance and it need it to be approved before a certain date
I understand the staff are volunteers but that's not an excuse for it not being approved
They could make it automatically approve after a given time (like 2 weeks) and then deny/block it later on once a staff gets to review it

wraith bane
#

Like I said, I can literally not wait

wet breach
wraith bane
tender shard
#

staff needs as much time as they need, if you're unhappy with that, upload your stuff on another website

noble lantern
wet breach
#

It depends, the staff are volunteers. It rarely happens but that has happened in the past. You are not entitled to anything on spigot nor are they obligated to do anything if they so choose.

noble lantern
#

uh oh

wet breach
#

Best option is to just wait

noble lantern
#

md5 gonna set em straight

sullen marlin
#

I'm not so sure about that 4 months lol

#

Unless you meant 4 weeks

wet breach
#

Also you are not the only one waiting either

tender shard
#

angelchest plus took 3 months to get approved, hence I just randomly said that it could also take 4 months lol

wet breach
#

There is others just like yourself who have plugins in the queue too

radiant glen
subtle folio
#

imagine uploading a premium resource with a very strict deadline😅

wraith bane
noble lantern
subtle folio
#

there are many jobs that require no degree that can help with that aswell ¯_(ツ)_/¯

sullen marlin
#

literally no idea where you got 3 months from

wet breach
tender shard
shy rock
#

Is there a way to replace all same words into another only in 1 java class using Intellji ?When I use it, it replaces all words from all classes

tender shard
#

i definitely know that one of my plugins took 3 months because when it got approved, I already forgot it

noble lantern
wraith bane
shy rock
noble lantern
#

whats ctrl r do

shy rock
#

Its ctrl r

noble lantern
#

oh near replace all feature

#

i always just refector :p

wraith bane
sullen marlin
#

1 month

wraith bane
#

That's more reasonable than 4 months yea

wet breach
#

Well its all estimates. Afterall it is a free service

tardy delta
wet breach
#

You cant expect anything when it is free and not costing you anything to use it lol

noble lantern
tardy delta
#

whats that laughing bruh

hard socket
#

I need help with the protocollib api

#

I have this event it works fine and everything but I need the enderdragon to follow players pitch

#

like go down/up

deft thistle
#

Question I have this defualt config.yml

name: "Test"

And I have this method on my plugin class:

    private void setupConfigDir() {
        this.saveDefaultConfig();
        String name = this.getConfig().getString("name");
        this.getLogger().info("The name I've got from my config file was: " + name);
    }

All good, I got "test" as the name string.
But, just to see if it would error or something, I decided to empty the config.yml file and save. Then I reloaded the server, and it stll said
The name I've got from my config file was: Tet
Why didn't it error or re create the line?

#

and even after reloading config.yml is still empty.

#

If I manually re-add

name: "Something"

to the file it actually prints Something instead of Test

#

If I have

name="One name"
name="Two names"

in the file only the latter will be printed.

subtle folio
#

that’s why you use lists?

#

name:
- “one”
- “two”

agile anvil
#

Apply the player direction velocity to the entity

chilly void
#

@deft thistle saveDefaultConfig() will fail silently when the config.yml already exists, this is why the file stays empty.
As for why it still return "Test", if my memory serves me well Bukkit will look in the default config.yml if it can't find a key in the regular config.yml.

worldly ingot
#

That's correct

agile anvil
#

Entity#setVelocity

#

It takes a vector as paremeter

#

You can use the Player#getDirection vector

chilly void
#

you have to use getDirection

agile anvil
#

Bro

chilly void
#

player.getDirection()

agile anvil
#

Just multiply the vector according to what you want to do

chilly void
#

that depends on a whole bunch of factors

deft thistle
agile anvil
#

Basically it would double the power of launch

chilly void
#

think of it like this: How far will a ball go if you accelerate it to 10m/s?

The answer will depend on things like friction and the angle you launch it in. A ball shot straight up into the air won't go for, a ball shot in a balistic curve will go far. A ball that goes over the ground won't go very far due to friction with the ground

eternal oxide
#

Yes, ish, as MC has drag and gravity

agile anvil
#

Calm down and use google thank you

chilly void
#

the direction should be a normalized vector, so a length of 1 which I assume leads to a speed of 1m/s

agile anvil
#

And basically you can compute vector by substracting locations for instance

#

See the vector as the arrow showing where the entity will be launched

#

And it's like for the power

shy rock
#

Is there a way to limit customnames viewdistance?

#

example. If the entity is 10 block away, you wont be able to see its custom name

chrome beacon
#

You can manually toggle the nametag on and off

smoky anchor
#

I guess you could use a text display entity as a passanger for the entity
If you're on 1.19.4+

chrome beacon
#

teams are enough

shy rock
#

im on 1.19.4

chrome beacon
#

No need for additional entities

shy rock
#

what

#

I'm currently using onPlayerMove function wich can be laggy if too many players are on and move

smoky anchor
#

I mean you could just let the client handle that "logic"

shy rock
#

Theres no other way?

smoky anchor
#

well I am sure your algorythm for the toggling could be more optimized
But I would go for display entities, tho others might have a better idea

shy rock
#

alright thanks

eternal oxide
#

put each player on a team and disable the name tags once out of range

#

calculate in the player move event, but ONLY when a player moves a full block

smoky anchor
#

would this work per-entity ?
I imagine they are working on something similar to HP display

eternal oxide
#

yes, a team per player

smoky anchor
#

yes but if you have two zombies, one 5 blocks from you and one 15 blocks from you
Only the first one should have the name visible.
Would teams work like this ?

eternal oxide
#

I thought it was just player names?

smoky anchor
#

But they have to answer that

eternal oxide
#

possibly. perhaps armorstands

smoky anchor
#

Text Display is more efficient I am sure

eternal oxide
#

if it's more than just players then text displays may be better

#

but it all hinges on what specific entities they want to hide the names of

smoky anchor
#

Like you can just set a view distance for them and the client will handle all of that itself
No custom logic for that needed on server

#

yes

shy rock
#

while the player is standing still

eternal oxide
#

first, what entity names are you wantign to hide?

shy rock
#

Every entity with a custom name basically

eternal oxide
#

every?

shy rock
eternal oxide
#

so could be zombies, armorstands

shy rock
#

If it becomes a big problem I can fix that later

#

its not a big deal right now

eternal oxide
#

In that case use teh passenger/text display entity method

smoky anchor
#

well then the text display passanger would not work as a player could not mount a horse for example
You'd have to handle those edge cases for rideable mobs

eternal oxide
#

set a text display as teh passenger of any entity you spawn with a custom name

shy rock
#

That wouldn't work on older version tho would it? 1.12.2 1.16

eternal oxide
#

no

smoky anchor
#

you said you're on 1.19.4 tho -_-

shy rock
#

Yeah I forgot that I try to support older versions too

smoky anchor
#

then dont :D

eternal oxide
#

then give up

shy rock
#

haha

smoky anchor
#

idk why ppl try to support old versions anyways
Like I understand 1.8.9 but anything between that and latest is pointless imo

#

maybe 1.12.2

eternal oxide
#

I was just asked for an old build for 1.4.7

shy rock
#

Well im making a 1.19.4 plugin I heard usually all 1.12 plugins are supported all the way to the newest

smoky anchor
eternal oxide
#

many plugins support older version but generally because they've been around that long

eternal oxide
shy rock
#

lmao

eternal oxide
#

I currently only write plugins for the latest API

#

if more devs did the same a LOT more servers would update quicker

echo basalt
#

Usually the same

#

at work we use 1.18.2 but we plan on updating

eternal oxide
#

everyone wants teh latest and new plugins

echo basalt
#

It's just that we use some specific outdated versions of plugins that we patched

#

but we also have like 40k lines of code in a single project so it's on us to update

eternal oxide
#

yep, only so much you can abstract away from Bukkit

echo basalt
#

we use a bit more than bukkit

eternal oxide
#

Many times I've written my own abstraction layer between a plugin and Bukkit, but it's so annoying

echo basalt
#

closest I have to that is the Module system at work which is basically a mini javaplugin

eternal oxide
#

For most plugins it's a waste of time, but 40k lines and it is

echo basalt
#

and we just have a little registry system that checks for dependencies

#

So that modules that depend on each other can be accounted for

#

And all the utilities support both JavaPlugin and modules

#

(the module class always has an instance of the real plugin injected)

smoky anchor
#

Don't you have like some NDA ?
Or was that a different person :D

echo basalt
#

Not for this project

#

I've signed like 4 NDAs in total and they're all for projects I'm no longer related to

#

One of them was kinda useless, I just went there, worked for like a week and just wasn't feeling the vibe

hushed spindle
#

is there a logging method that displays a different color in console? i want one to communicate a specifically good event but it has to stand out, severe is red but obviously for bad events, info is white and doesnt stand out, and fine/finer/finest doesn't show

#

so do i just log in fine/finer/finest and manually message the consolesender

fading lake
hushed spindle
#

right so i just do the latter i guess

#

was wondering if there was a better option

fading lake
#

nope

tall furnace
noble lantern
#

and then you miss out on logging levels

tall furnace
hushed spindle
#

you'd be doing both

#

the message doesnt log

#

so thats why you log again in finer

#

or fine or finest or whatever

tall furnace
hushed spindle
#

why are there even 3 levels of fine

#

they do?

#

oh well lol

noble lantern
#

yes and they make logs MESSY

#

the Logger exists for a reason

The colors is just windows/jansi or whatever its called being shit

tall furnace
#

Depends on what you want to see ig. I like to use prefixes like §7[<plugin name>]§c<error message>, makes them easy to find

#

I really dislike how the logger looks though

noble lantern
#

wha

#

plugin.yml r_baby_cry

#

yk you can change your prefix right if that your goal using that

tall furnace
#

With a console message there is no prefix

#

by default

noble lantern
#

im gonna cry r_baby_cry

tardy delta
#

dont send console messages then

tall furnace
tardy delta
#

you have a logger

tall furnace
#

Which, as I said, I dislike. Looks gross.

tardy delta
#

theres nothing different

remote swallow
#

just because you dont like it doesnt mean ur end users dont too

noble lantern
#

why does it give me java.util.UnknownFormatConversionException: Conversion = ' '

r_baby_cry

tall furnace
#

In my 10 years of hosting, I have only needed to look at the log file twice. I only normally need to see the console window.

tardy delta
#

the single % ig

eternal oxide
#

The only thing bad about the logger is you can;t change the logging level at runtime.

tardy delta
#

have you ever needed to?

noble lantern
eternal oxide
#

yes

noble lantern
#

fucks sakes im dumb

eternal oxide
#

many times. It used to be a very handy debugging tool

#

but the switch to log4j removed that ability

tardy delta
#

doesnt setLevel work at runtime hmm?

eternal oxide
#

nope

#

completely ignored

noble lantern
#

so thats why mongos logger kept yelling at me

tardy delta
#

probably because of this

noble lantern
#

oh

#

plugin logger

tardy delta
#

idk

ocean hollow
#

How can I remove this message, when I am clicking on Interaction? I can't find info about it

noble lantern
chrome beacon
ocean hollow
#

hahahah, lol

noble lantern
#

i love my good ol bukkit.broadcastmessage debugs

#

so useful but embarrassing when they get left behind xD

eternal oxide
#

Probably everyone here has make a release and forgot a debug message at some point

tall furnace
#

My solution is to have a debug toggle and not get rid of them.

noble lantern
#

lazyness

eternal oxide
tall furnace
#

Helps to debug issues when other users have a problem.

tall furnace
#

I just know it was a big stink for a bit

eternal oxide
#

Then paper add that stupid nag to prevent you using sysout 😦

#

I didn;t care as I only use Spigot, but I got enough complaints

noble lantern
#

paper is all about telling you how to code your own plugins

eternal oxide
#

yep

tall furnace
#

I've never bothered looking at paper. Spigot does everything I need.

noble lantern
#

paper does some cool async stuff and events, thats about it

#

events can be made by anyone tbf like the ArmorSwapEvent one

eternal oxide
#

It is more performant, but it gets a lot more credit than it should

winged anvil
#

concurrency vs parallelism go

tall furnace
#

Tbh spigot is one of the best-organized, well-put-together, intuitive libraries out there.

eternal oxide
#

Its the most solid

tall furnace
#

Kudos to md_5 and team.

noble lantern
#

whats smiles guide for inventories again

#

?inventory

#

hm

eternal oxide
#

Oh noes!

noble lantern
#

someone just sent it like 2 days ago

quaint mantle
#

how can i get and store all the metadata of a player inside of a map or an object ?
tried this approach but it returns an empty obj :

public JSONObject getPlayerMetadata(Player player) {
        Map<String, Object> metadataMap = new HashMap<>();
        for (MetadataValue metadata : player.getMetadata("")) {
            metadataMap.put(metadata.asString(), metadata.value());
        }
        return new JSONObject(metadataMap);
    }```
charred blaze
#

i know this isnt right place to ask but its related to minecraft. why is nt there my integrated graphics? my cpu is i3 2100

#

my GPU dies when setting fps to unlimited

#

so i want to use integrated graphics

#

instead

tardy delta
#

go into nvidia settings

charred blaze
#

ok wait

quaint mantle
#

and you disable it

#

or

#

plug the hdmi into the motherboard's video output instead of your gpu's

charred blaze
#

ok im here

quaint mantle
#

and restart your computer, way easier

charred blaze
quaint mantle
quaint mantle
lucid gazelle
#

how would i create a smooth moveable cursor like the one shown in the video?

this is what i have so far

// Inside the CustomMenu class
@EventHandler
public void onPlayerMove(PlayerMoveEvent e) {
    if (e.getPlayer() != player) return;
    Location movedFrom = e.getFrom();
    Location movedTo = e.getTo();
    if (movedFrom.getX() == movedTo.getX() && movedFrom.getY() == movedTo.getY() && movedFrom.getZ() == movedTo.getZ()) {
        e.setTo(e.getFrom()); // same effect as e.setCancelled(true)
        e.getPlayer().sendMessage("Moving cursor...");
    }
}```
well, it works but it's very jittery and not smooth at all

https://cdn.discordapp.com/attachments/1107361652891979830/1109611622521122908/2023-05-05_12-28-08.mp4
charred blaze
#

i have no idea how to do that and where. lets do it on nvidia

deft thistle
#

change your starting display to mobo in bios first,

charred blaze
#

sounds better

tardy delta
#

3d settings

quaint mantle
charred blaze
quaint mantle
charred blaze
#

uhh sorry what?

eternal oxide
quaint mantle
#

the video cable, the one that runs from your monitor to the back of your computer

deft thistle
tardy delta
#

ah yes you cant even set preferred graphics

noble lantern
#

no

#

no no no

lucid gazelle
noble lantern
tardy delta
#

uh oh

charred blaze
deft thistle
#

does your mobo have VGA? (the blue thing) female port?

lucid gazelle
#

when the player moves his cursor, the snowball moves to that point on the screen

quaint mantle
#

send a pic of the back of your computer please

deft thistle
#

montherboard

tardy delta
charred blaze
#

uhh ok ill send pic

eternal oxide
charred blaze
quaint mantle
lucid gazelle
quaint mantle
charred blaze
#

so i need to send pic of my monitor's back or case's?

eternal oxide
#

Don;t set pitch and yaw

tardy delta
#

got discrete graphics enabled in bios or smth?

charred blaze
#

ok wait

eternal oxide
#

pitch and yaw are elements of the players location

lucid gazelle
quaint mantle
charred blaze
#

i know how to go in bios

#

btw

quaint mantle
charred blaze
#

💀

lucid gazelle
eternal oxide
#

you shoudl only set to to from if the x,y,z do not match

quaint mantle
eternal oxide
#

allowing pitch and yaw to change

charred blaze
#

ok wait im opening discord on phone

quaint mantle
lucid gazelle
eternal oxide
#

what?

quaint mantle
lucid gazelle
#

see the vid, the player's head isn't moving at all

charred blaze
eternal oxide
lucid gazelle
#

the player head somehow stays in place

quaint mantle
lucid gazelle
#

while still being able to move the snowball

quaint mantle
#

and plug it in the motherboard's correspective port

charred blaze
#

second one?

quaint mantle
#

the one under the white port

#

turn off your computer then unplug this :

charred blaze
#

how will that help changing minecraft's usable resource to integrated graphics? ;-;

quaint mantle
#

plug it in here, then turn the computer on

eternal oxide
#

No way around that

charred blaze
#

can you explain little bit

quaint mantle
charred blaze
#

only video?

quaint mantle
#

so it will default to your motherboard's video output, which uses the cpu's integrated graphics

quaint mantle
#

just unplug the damn thing

lucid gazelle
charred blaze
#

will it need additional setup when i turn it on?

charred blaze
#

ok ill do it

quaint mantle
#

go

charred blaze
#

calm down ;d

quaint mantle
eternal oxide
#

All videos cards have passthrough

#

you shoudl not move the cable as you will never use yoru expansion graphics again

quaint mantle
#

pretty sure he doesnt need a 430

eternal oxide
#

For what reason do you want MC to run on your onboard video?

quaint mantle
#

better off his iGPU

wise mesa
#

What is their dedicated gpu

quaint mantle
#

gt 430

wise mesa
#

Yikes

#

What cpu do they have

quaint mantle
#

didnt specify

eternal oxide
#

if it has an add in gt 430 it's going to be better thasn their onboard

wise mesa
#

They might not even have an igpu

eternal oxide
#

no point in adding the card if it's worse

wise mesa
#

Why did you assume

quaint mantle
lucid gazelle
wise mesa
#

@charred blaze don’t move the cable

quaint mantle
eternal oxide
#

ok

quaint mantle
#

@charred blaze move it

#

if you want to use your integrated gpu move it

eternal oxide
wise mesa
#

@charred blaze can you please provide us some extra information

quaint mantle
#

since they just asked how to switch from dgpu to igpu without providing extra information i just told them how to do what they asked for

wise mesa
#

What cpu does it have

#

Thats faur

#

Fair

#

However if they have a gt 430 then they probably don’t even have an igpu

quaint mantle
charred blaze
#

i3 2100

quaint mantle
wise mesa
#

@charred blaze why do you want to switch

charred blaze
#

so like this

wise mesa
#

It’s not going to give you a better experience

#

In fact lemme google something

charred blaze
#

its crashing

#

so ill try idk

quaint mantle
#

yeah no dont switch

charred blaze
#

can i boot it now ?

eternal oxide
#

lol, no point in running unlimited fps on that rig

charred blaze
#

what

quaint mantle
#

you can try

#

but the gt430 is better than your igpu

#

intel hd2000 graphics sucks

#

suck even worse than gt 430

charred blaze
#

can i booooot?

quaint mantle
#

yes

quaint mantle
charred blaze
#

ok

wise mesa
eternal oxide
#

limit fps to 60 or even 30. you will never use above that in MC with a normal display

wise mesa
#

Don’t switch gpus

quaint mantle
#

limit it at 60 and run optifine

eternal oxide
#

just enable vsync

quaint mantle
#

dont switch cables, run optifine and vsync

charred blaze
#

no video input

quaint mantle
#

or even better, sodium