No way to craft hearts
mccannabe opened this issue ยท 26 comments
Just a heads up, I am working on this now but I have two things first:
- I need the BFAPI Markable API to make this painless and easy to use in a better more dynamic way I just released this but it is untested as of the current moment
- I have exams soon so that is slowing my rate of development
Oh and also: What should the default crafting recipe be, of course this will be able to be changed in the config but I need a good one as a default
Just a heads up, I am working on this now but I have two things first:
- I need the BFAPI Markable API to make this painless and easy to use in a better more dynamic way I just released this but it is untested as of the current moment
- I have exams soon so that is slowing my rate of development
Oh and also: What should the default crafting recipe be, of course this will be able to be changed in the config but I need a good one as a default
4 diamond blocks, 4 obsidian, 1 totem of undying
I was thinking maybe a totem surrounded by like golden carrots, or an item that's not really difficult to get but it takes time
That is quite expensive
That's the point. The reason I suggested it is to push players to kill others instead of just farming hearts
Marks are working meaning this can now be implemented, however Minecraft doesn't have a built in recipe serializer meaning I am having to code one from scratch in order to make it controllable in the config. It shouldn't take too long now though
Turns out Minecraft isn't the best for decoding a recipe, so I am going to create my own wrapper that will be used to make a recipe so that we have greater control over crafting
Like a max health item consumption? I can add it to the config once I get the recipe junk working
But for clarification, do you want:
- a max use on the item, so like a player can only EVER use x amount of hearts
- a heart value where the player cannot consume any more hearts, this would mean they can get back a heart if they loose one after being maxed etc
- Both?
He wants 10 hearts (the default amount of minecraft hearts) to be the base.. he wants you to make it so you cannot gain hearts by crafting them unless you're under 10 hearts, for example 9, eat a heart and go to 10 but while you're at 10 you CANNOT go to 11 with craft-able hearts.
He wants to make the mod more PvP focused where the only way to get past the 10 hearts base is by PvP and stealing somebodies heart.
Awesome, I was thinking about something very expensive, like a totem surrounded in diamond or netherite. Is there any way you could make a command to change the recipe? I don't think that I could do it on my own. Thank you so much for responding to my original message, and your mod is working perfectly on my server!
I just had a great idea for dealing with that, I can add a crafting GUI impl that looks like a normal crafting table to the player and they can set the recipe on that by simply dragging and dropping. Would that be good enough? Also BFAPI v1.2.2 will add /config stuff so you can change it all in game anyway <3
I was wondering if you could make it so that players can not use crafted hearts if they have more than ten hearts. This makes it so that you actually have to kill people to get hearts and cant just farm them. Also (not to rush or anything) just wondering when craftable hearts would be implemented? Im planning on starting a server with this mod do you have a rough idea of when it will be available
First off, sorry for the slow updates but I have recipes working + custom effects and requirements for them! Now I am going to start on the GUI to allow them to be edited easily
No problem, take your time. And thanks for making this mod for us!
First off, sorry for the slow updates but I have recipes working + custom effects and requirements for them! Now I am going to start on the GUI to allow them to be edited easily
Sure, I finished my exams on Tuesday and since I have started working on this again. Yesterday I got the screen api to work so I can implement the gui I told you about previously for modifying custom crafting recipes, so it is still going ahead but time is sparse in-between school and work ๐
For the default recipe I have gone for
in a 2x2 shapeless configuration
What's everyone's opinion on this? It has aspects of the end and overworld meaning crafting hears can't be done before beating the dragon. However, I am thinking of changing the honey bottle for a wither Skellington skull so that there is also a nether aspect required but I am unsure
EDIT: we can also add things like the recipe costing xp levels to craft the it
For the default recipe I have gone for in a 2x2 shapeless configuration
What's everyone's opinion on this? It has aspects of the end and overworld meaning crafting hears can't be done before beating the dragon. However, I am thinking of changing the honey bottle for a wither Skellington skull so that there is also a nether aspect required but I am unsure
EDIT: we can also add things like the recipe costing xp levels to craft the it
Make the honey to a blaze rod, as dragon's breath is already hard to get
Wither skeleton skulls are way too hard
Dragons breath can be gathered quite easily once your in the end so in that fashion a blaze rod would make sense
EDIT: what about adding an xp cost to the recipe i think maybe 5 levels would make it more difficult to get lots of without being constantly active
Dragons breath can be gathered quite easily once your in the end so in that fashion a blaze rod would make sense
EDIT: what about adding an xp cost to the recipe i think maybe 5 levels would make it more difficult to get lots of without being constantly active
Agreed to both. This is a perfect balance.
I believe that I have it all working now so I can release v2 after I do some last tests of individual features (will be tommorow after writing docs)
But for now, here's a rundown on what's new:
Any item with the mark lifesteal
or health
will award the player a heart (or whatever healthToLooseOnDeath
is set to on the config)
You can get a marked item like so: /give @s minecraft:dirt{Marks:["health"]}
This enabled you can create custom items that award health n stuff if you wanted, also the marks listened for are customisable in the config
Custom recipes can now rely on a user having a given amount of health and award health when lifesteal is installed, I'll write all these up when the I do the docs for this version but for example gainhealth
will award the player health once they craft a recipe, idk why you would use it but its there. The more useful ones are the recipe restrictors that enable locking a recipe to a certain amount of gained health, for example losthealth<
will allow a recipe to only be craftable when a player has gained a given amount of health (remember that we store lost health not gained health, so gained health is negative hence less than checks)
Also you could use the result loosehealth
to make it cost a heart to craft one, making it only a store of health but that's all up to you
To-do with modifying the recipe, until I have added the gui it will be a little hard, simply put though:
This is the json you will see by default
{
"id": "lifesteal:health",
"recipe": {
"type": "minecraft:shapeless_crafting",
"group": "minecraft_apple",
"icon": {
"id": "minecraft:apple",
"Count": 1,
"tag": {
"Marks": [
"lifesteal"
],
"display": {
"Name": "{\"text\":\"Health\"}"
}
}
},
"requirements": {
"xp": 5
},
"results": {
"xp": -5
},
"ingredients": [
"minecraft:totem_of_undying",
"minecraft:poisonous_potato",
"minecraft:blaze_rod",
"minecraft:dragon_breath"
]
}
}
Don't change id unless you want duplicate recipes.
Here you can see the use of requirements
and results
that dictate custom features, (there will be docs on all the different types (I have made them just not committed yet, once they are I will post a link to them here)) we use xp to make it cost five levels, the requirement is just there to stop us going into negative levels
On a shapeless crafting recipe ingredients
is just a list of identifiers of crafting materials (click me for a list of those)
Icon is the item that will be given to the player however its in the nbt format
The crating gui isn't done yet as I plan for that to be a bfapi thing. I plan do it soon but for now to modify the recipe you will simple have to go into the recipes directory on your server and open
There is now a command (you can customise permission, op level, aliases, if to register and response messages like usual) that allows you to modify a players lost health if you have their UUID (you can use also the username if they are currently online)
The banning module is no longer there, instead a player is now just kicked on join allowing for their health to be modified by the aforementioned command meaning they can be easily brought back. This also means that the message they are sent on kick is now text rather than a string resulting in you being able to use colour n stuff if you so choose
Also thanks for waiting while I do all of this, It should be out tomorrow with some better docs then this little write up <3