How to Code Datapacks Faster - Bolt Tutorial

Поділитися
Вставка
  • Опубліковано 1 січ 2025

КОМЕНТАРІ • 62

  • @mathpuppy314
    @mathpuppy314 4 години тому +10

    I quit developing datapacks because it was so tedious. This is a game changer.

    • @bigpapigaming1126
      @bigpapigaming1126  Годину тому

      Was genuinely on the verge myself until I found this. It's saved me so so much hassle

  • @puckisilver
    @puckisilver 2 дні тому +20

    Thanks for making this! I've been using Beet/Bolt for quite some time now and have been loving it. Having tutorials and showcases of what it can do and how it can help makes it a lot more approachable to newcomers!
    You said you were not sure what "pipeline" does, so I'll try to explain it how I understand it.
    "pipeline" and "require" are both spots that register plugins. "require" runs before the data pack itself is loaded and "pipeline" runs after the pack is loaded. Here "bolt" is used in "require" to register .bolt files and how they are handled and "mecha" is used in "pipeline" to parse the mcfunction stuff and allow for shortened syntax.
    Also, you can import .bolt files in mcfunction files as well and you can define new functions and advancements and everything inside of regular .mcfunction files as well but yea, it does always create at least the function itself.
    Good video! 🥳

    • @bigpapigaming1126
      @bigpapigaming1126  2 дні тому +4

      Thanks for the explanation and for the kind words! That makes a lot more sense. And yeah maybe I should’ve been a bit more clear about how mcfunction files can do all that stuff too haha, I just personally prefer doing it all in .bolt

  • @juniorwmg
    @juniorwmg 12 годин тому +4

    I'll definitely save this somewhere, Beet seems so much more userfriendly than normal mcfunctions. Thanks!

  • @TheJas-vr2vr
    @TheJas-vr2vr 6 годин тому +2

    this is very cool!! reminds me of how MinecraftPi and mcpi got me into coding!!! ❤

  • @DaminGamerMC
    @DaminGamerMC 2 дні тому +44

    calling the source directory "zerk" is very cursed

    • @bigpapigaming1126
      @bigpapigaming1126  2 дні тому +5

      lol I had a teacher that always called it that and I guess it just kinda imprinted itself on my mind. It’s really fun to say so I think it just stuck

    • @jiinkC
      @jiinkC День тому +1

      @@bigpapigaming1126 I thought it was a jerma joke

    • @joe-skeen
      @joe-skeen 4 хвилини тому

      I've heard a lot of crazy ways to pronounce computer stuff, but this is the first time I've heard this one!

  • @bigcongaming
    @bigcongaming День тому +8

    Woah, this is really sick! Me and my team have been using our own compiler similar to this for creating multiple functions inside files and such, but nothing as complex as this! We might need to switch to using this system now that I've found this video! Thanks for sharing!

    • @bigpapigaming1126
      @bigpapigaming1126  День тому +4

      Yeah, it really is an amazing tool! I’m glad you found the video helpful!
      Also, respect for the Big _____ Gaming name format 🤝

    • @bigcongaming
      @bigcongaming День тому +2

      @@bigpapigaming1126 LOL, we like good naming conventions!

  • @spalty6979
    @spalty6979 2 дні тому +7

    The goat has retuned from his slumber

  • @HeyaItsSoup
    @HeyaItsSoup 2 дні тому +2

    The potential for this is insane :0

    • @bigpapigaming1126
      @bigpapigaming1126  2 дні тому +1

      I know right! Especially if the community surrounding beet grows, having a lot of people all building libraries for others to use could absolutely skyrocket the potential of datapacks.

  • @marckiezeender
    @marckiezeender День тому +2

    This is so good! I tried last year to create something like this, but quickly realized it would be too much. So excited to start using this!

    • @bigpapigaming1126
      @bigpapigaming1126  День тому +1

      I was actually just about to start trying to make something like this myself, but thank goodness I found bolt right before I got into it and saved myself loads of time of trying to make a precompiler from scratch

    • @marckiezeender
      @marckiezeender День тому

      @@bigpapigaming1126 yeah, literally! I already have been using python to manually generate mcfunction files, so this is just a step better!

    • @raspberryjam
      @raspberryjam 17 годин тому

      I was able to make a simple transpiler as a plugin for sublime text which would parse and write the proper .mcfunction files on save of a .mcfunctab file

  • @j0hner
    @j0hner Годину тому +1

    i love this so much

  • @blockcat4457
    @blockcat4457 2 дні тому +4

    your a real one for making this tutorial

  • @no_handleboy
    @no_handleboy 2 дні тому +2

    this is actually so sick wtf

  • @staxpy5729
    @staxpy5729 2 дні тому +2

    Amazing ! Very consize and clear !
    Bolt ressources are so rare, it makes this video pure gold ✨️
    Although I understood most of this already, I would instant watch anything that covers how you are using bolt in more details ! It's such a versatile tool that it's helpful to see pratical examples. ✨️🔥✨️

    • @bigpapigaming1126
      @bigpapigaming1126  2 дні тому +2

      Thank you so much, I’m definitely hoping to make more in the future! Hoping to do a particle effect guide next :)

    • @staxpy5729
      @staxpy5729 Годину тому

      @@bigpapigaming1126 Can't wait !

  • @seamuskills
    @seamuskills День тому +1

    Thank you so much for sharing this! I can’t wait to try it out!

    • @bigpapigaming1126
      @bigpapigaming1126  День тому +1

      You’re welcome, I’m glad you found it useful! Hope you can make some cool stuff with it :D

  • @msdcrafter8336
    @msdcrafter8336 День тому +1

    This is sick

  • @damisobanjo
    @damisobanjo День тому +5

    what vs-code plugin are your using to auto complete?

    • @bigpapigaming1126
      @bigpapigaming1126  День тому +1

      There’s a bolt plugin, I believe you can just search for it but if not you can probably find info on it in the discord. It’s not super fleshed out but it has some bare minimum stuff

  • @redstonewizard08
    @redstonewizard08 12 годин тому +1

    Very well explained!
    Now heres a question: does bolt support strings & string manipulation, as well as text component generation? (I'm working on my own thing like bolt that does this but im curious as to whether bolt does it too lol)

    • @bigpapigaming1126
      @bigpapigaming1126  5 годин тому

      Bolt doesn't really have anything like this built-in, but you could definitely make a bolt library to pack that kind of functionality into an easy-to-use syntax.

  • @ValipPowa
    @ValipPowa День тому +4

    is this python for MINECRAFT? why does minecraft have the best fucking community support out of like all the communities ive seen.

  • @burnttoast616
    @burnttoast616 47 хвилин тому

    Amazing video! Btw how do you get the little icons by the file names

  • @eziothedeadpoet
    @eziothedeadpoet День тому +1

    There are probably ways to do that but is there also a shorthand syntax for reactionary data packs that aren't "static" function but that update variables (scoreboards) on the fly ?
    Cause while that loop thing and stuff are amazing for some things it wouldn't work that well if the loop would need to be "dynamically" aborted with a stop condition.
    Edit: I guess there are ways for these things to work you just didn't have any on the spot code examples for them. 👌

    • @bigpapigaming1126
      @bigpapigaming1126  День тому

      Yeah this is an important distinction that bolt does stuff at compile time, not run time, so you can’t use python variables to make things dynamic. Though it does allow you to package the functionality it’d take to make something dynamic into a single function that can take a python variable. When you start really digging into the possibilities there’s a lot you can do

    • @eziothedeadpoet
      @eziothedeadpoet День тому

      @bigpapigaming1126 So if I want or need scoreboard stuff for dynamic/relative inputs then I'll need to do that myself or is there maybe a plugin to do something like that automatically as well ?

  • @asdru
    @asdru 2 дні тому +4

    No way it finally happened

    • @bigpapigaming1126
      @bigpapigaming1126  2 дні тому +2

      There’s no more excuses now

    • @asdru
      @asdru 2 дні тому

      ​@@bigpapigaming1126uuh university busy busy :(

  • @wheatwhole_
    @wheatwhole_ 2 дні тому +4

    can we have this for mods

    • @bigpapigaming1126
      @bigpapigaming1126  2 дні тому +1

      Unfortunately bolt is just for datapacks. You could try looking into precompilers for Java, but I think in a lot of cases that wouldn’t be as necessary. Bolt is particularly useful because datapacks are particularly difficult to code in

    • @eziothedeadpoet
      @eziothedeadpoet День тому

      ​@@bigpapigaming1126
      The funny part is I would say that Data packs themselves aren't that bad, but especially for people that started getting used to more powerful proper coding languages and that want to use those techniques it requires weird workarounds or atypical and possibly even intuitive ways to achieve things. But for people that don't have that baggage and/or more advanced goals I think data packs will likely be easier to learn than some other programming languages since they likely already messed with the commands in-game.
      But yeah the code required to do complex stuff is insane with data packs.
      But also did I understand the end of the video correctly that beet/bolt can essentially even import python libraries 👀.

    • @juniorwmg
      @juniorwmg 12 годин тому +1

      We already have KubeJS! The capabilities are limited though.

  • @lame_lexem
    @lame_lexem День тому +2

    that is so cured to mix python amd mc functions

  • @potatoking5602
    @potatoking5602 День тому +2

    what did the cows do to you 😭

  • @juniorwmg
    @juniorwmg 12 годин тому

    Zerk is driving me insane 😅

  • @lederpium1965
    @lederpium1965 День тому +2

    beet or bolt

    • @bigpapigaming1126
      @bigpapigaming1126  День тому +1

      Beet’s the actual precompiler, bolt is a plugin for beet that makes all the stuff shown in the video possible

  • @premixedaxis
    @premixedaxis 2 дні тому +1

    First!!111!!!!1111!!!!||||!!!111

  • @energistixgames
    @energistixgames День тому +1

    src is an abreviation for "source", please stop saying circ...

    • @bigpapigaming1126
      @bigpapigaming1126  День тому +2

      Said this to another comment already, but ya it’s a habit I picked up from a professor of mine lol. It’s just fun to say so I’m sticking with it

  • @Shywizz
    @Shywizz День тому +1

    another great piece of pre-compiling that I have personally used is JMC, its not as powerfull because you don't get an entire programming language, but its still really nice
    for example here's how you'd iterate over string arrays
    ```js
    Hardcode.repeatLists(
    [
    "[index1]",
    "[index2]"
    ],
    ()=>{
    say "[index1] - [index2]";
    },
    [
    ["a1", "b1", "c1", "d1"],
    ["a2", "b2", "c2", "d2"]
    ]
    );
    ```

    • @bigpapigaming1126
      @bigpapigaming1126  День тому

      I haven’t used JMC before, but I’ve heard of it. So it’s basically like JavaScript-ish code that compiles into commands, right? If so that’s really cool!