0.71.0 Release discussion #997

Closed
opened 2021-01-22 22:01:45 +01:00 by kay27 · 52 comments
Contributor
No description provided.
Contributor

Do you think the lid can be opened to 90 degrees only? It looks weird clipping too much into walls.

MC2:
chest clipping excessively into wall, in MineClone 2

Minecraft:
chest opening to only 90 degrees in Minecraft

Do you think the lid can be opened to 90 degrees only? It looks weird clipping too much into walls. MC2: ![chest clipping excessively into wall, in MineClone 2](https://i.imgur.com/xOxbWEf.jpg) Minecraft: ![chest opening to only 90 degrees in Minecraft](https://i.imgur.com/zlpDJUG.jpg)

Ok, I can work on that.

Ok, I can work on that.

I think we should wait for Villages and call the release the "Village Update".

I think we should wait for Villages and call the release the "Village Update".
Contributor

Wow, wouldn't that take a long time to release? There's plenty to do for the villages update - professions, trading, breeding, etc. And we still need a Potion of Weakness, so we can cure zombie villagers. Or is the healing done differently compared to Minecraft?

The mob spawning should be fixed (once and for all) before the Village Update. We already have too many of them, so adding villagers will further impact the game. Here'a screenshot, although a video would've made all of them more visible - tens of mobs, no kidding.
tens of mobs in MineClone 2 v0.70.0

Wow, wouldn't that take a long time to release? There's plenty to do for the villages update - professions, trading, breeding, etc. And we still need a Potion of Weakness, so we can cure zombie villagers. Or is the healing done differently compared to Minecraft? The mob spawning should be fixed *(once and for all)* before the Village Update. We already have too many of them, so adding villagers will further impact the game. Here'a screenshot, although a video would've made all of them more visible - tens of mobs, no kidding. ![tens of mobs in MineClone 2 v0.70.0](https://i.imgur.com/gNsGNCB.jpg)

Wow, wouldn't that take a long time to release? There's plenty to do for the villages update - professions, trading, breeding, etc. And we still need a Potion of Weakness, so we can cure zombie villagers. Or is the healing done differently compared to Minecraft?

Professions, trading, and curing is already implemented. The potion of weakness exists. Mobs can't have status effects tho, so I just left the weakness part out when implementing the curing.

> Wow, wouldn't that take a long time to release? There's plenty to do for the villages update - professions, trading, breeding, etc. And we still need a Potion of Weakness, so we can cure zombie villagers. Or is the healing done differently compared to Minecraft? Professions, trading, and curing is already implemented. The potion of weakness exists. Mobs can't have status effects tho, so I just left the weakness part out when implementing the curing.
LizzyFleckenstein03 changed title from Release 0.71.0 "animated chests"? to Next release when? 2021-01-25 12:23:31 +01:00
LizzyFleckenstein03 added the
contribution inside
label 2021-01-25 12:23:52 +01:00
Contributor

Wow, that's significant progress! Se we can cure them only with a golden apple? :) And if the players can have status effects, would it require significant (or even engine) changes to give mobs status effects?

Anyway, we still need a few functional job site blocks, like the composter (#691), blast furnace, smoker, barrel and others that can also be used by the players - some of which were added in newer Minecraft versions. But I'm sure many players will be happy even if we start with having them as decorative blocks first, like Minecraft did for a few of them. :)

For reference

Job Block Added in Minecraft Villager Profession
Blast Furnace 1.14 Armorer
Smoker 1.14 Butcher
Cartography Table 1.14 Cartographer
Brewing Stand 1.0 Cleric
Composter 1.14 Farmer
Barrel 1.14 Fisherman
Fletching Table 1.14 Fletcher
Cauldron 1.0 Leatherworker
Lectern 1.14 Librarian
Stonecutter 1.14 Mason
Loom 1.14 Shepherd
Smithing Table 1.14 Toolsmith
Grindstone 1.14 Weaponsmith
Wow, that's significant progress! Se we can cure them only with a golden apple? :) And if the players can have status effects, would it require significant *(or even engine)* changes to give mobs status effects? Anyway, we still need a few functional job site blocks, like the composter (#691), blast furnace, smoker, barrel and others that can also be used by the players - some of which were added in newer Minecraft versions. But I'm sure many players will be happy even if we start with having them as decorative blocks first, like Minecraft did for a few of them. :) For reference | Job Block | Added in Minecraft | Villager Profession | | --- | :-: | --- | | Blast Furnace | 1.14 | Armorer | | Smoker | 1.14 | Butcher | | Cartography Table | 1.14 | Cartographer | | Brewing Stand | 1.0 | Cleric | | Composter | 1.14 | Farmer | | Barrel | 1.14 | Fisherman | | Fletching Table | 1.14 | Fletcher | | Cauldron | 1.0 | Leatherworker | | Lectern | 1.14 | Librarian | | Stonecutter | 1.14 | Mason | | Loom | 1.14 | Shepherd | | Smithing Table | 1.14 | Toolsmith | | Grindstone | 1.14 | Weaponsmith |

Yes, just cure zombie villagers with a golden apple.

It would not require any engine changes. But the thing is, (bzoss if you read this, I'm sorry but I gotta say it) status effects and potions are implemented pretty bad from an API / extendability perspective. I think I'm rewrite some of the code to provide a proper API and to make things like mob status effects possible.

I don't think we should make job site blocks. I can't think of any way it will not totally kill performance.

The features of the next release should be:

  • Animated Chests [EliasFleckenstein03]
  • Enchanted books in creative inventory [EliasFleckenstein03]
  • Zombie villagers (Curing, Spawning) [EliasFleckenstein03]
  • Enchanted golden apples [EliasFleckenstein03]
  • Bottle o' Enchanting [EliasFleckenstein03]
  • Improve respawning code [kay27]
  • Improve mapgen code [kay27]
  • No falling damage in water and end portal [kay27]
  • Patched a coordinate exploit [anon5: discovered it; emilia: patched it; cora: sent us the patch]
  • Patched duplication glitches with beds [kay27] and doors [EliasFleckenstein03]
  • Fix objects starting to burn when they are just close to fire sources [EliasFleckenstein03]
  • Villages [MysticTempest; kay27]
  • Update boats [EliasFleckenstein03]
  • Small minecart tweaks (Big ones upcoming) [kay27]
  • Fix mob (de-)spawning
  • Simplify mcl_burning [EliasFleckenstein03]
  • Add Flame enchantment [HimbeerserverDE]
  • Fix creeper explosions [ryvnf]
  • Visual sneaking [epCode]
  • Spawn egg textures [epCode]
  • Wielditem repositioning [epCode]
  • Swimming animations [epCode]
  • Bow animations [epCode]
  • Right arm pitch control [epCode]
  • Minecraft-like walking, digging and sprinting animations [epCode]
  • Charged creepers [epCode]
  • Make MineClone2 compatible with Minetest 5.4 [EliasFleckenstein03]
  • 3D Armor preview in inventory [EliasFleckenstein03]
  • Protectable paintings [kay27]
  • Fix several issues with Mending [EliasFleckenstein03]
  • 3D wielded nodes [EliasFleckenstein03]
  • New MineClone2 header [epCode]
  • Fix Mobs not taking Knockback on the Y-Axis [Code-Sploit]
  • Instant wielditem change [Code-Sploit]
  • Updated french translations [lrocher; pitchum]
  • Better death messages [Code-Sploit]
  • Depth strider enchantment [Code-Sploit]
  • Add a setting to disable ore generation [AFMCS]

See also: https://git.minetest.land/Wuzzy/MineClone2/milestone/2

Feel free to add items to the list, it's probably incomplete as I just added stuff I know about, which is mostly the stuff I did myself / planning to do myself.

Yes, just cure zombie villagers with a golden apple. It would not require any engine changes. But the thing is, (bzoss if you read this, I'm sorry but I gotta say it) status effects and potions are implemented pretty bad from an API / extendability perspective. I think I'm rewrite some of the code to provide a proper API and to make things like mob status effects possible. I don't think we should make job site blocks. I can't think of any way it will not totally kill performance. The features of the next release should be: - [x] Animated Chests [EliasFleckenstein03] - [x] Enchanted books in creative inventory [EliasFleckenstein03] - [x] Zombie villagers (Curing, Spawning) [EliasFleckenstein03] - [x] Enchanted golden apples [EliasFleckenstein03] - [x] Bottle o' Enchanting [EliasFleckenstein03] - [x] Improve respawning code [kay27] - [x] Improve mapgen code [kay27] - [x] No falling damage in water and end portal [kay27] - [x] Patched a coordinate exploit [anon5: discovered it; emilia: patched it; cora: sent us the patch] - [x] Patched duplication glitches with beds [kay27] and doors [EliasFleckenstein03] - [x] Fix objects starting to burn when they are just close to fire sources [EliasFleckenstein03] - [x] Villages [MysticTempest; kay27] - [x] Update boats [EliasFleckenstein03] - [x] Small minecart tweaks (Big ones upcoming) [kay27] - [x] Fix mob (de-)spawning - [x] Simplify mcl_burning [EliasFleckenstein03] - [x] Add Flame enchantment [HimbeerserverDE] - [x] Fix creeper explosions [ryvnf] - [x] Visual sneaking [epCode] - [x] Spawn egg textures [epCode] - [x] Wielditem repositioning [epCode] - [x] Swimming animations [epCode] - [x] Bow animations [epCode] - [x] Right arm pitch control [epCode] - [x] Minecraft-like walking, digging and sprinting animations [epCode] - [x] Charged creepers [epCode] - [x] Make MineClone2 compatible with Minetest 5.4 [EliasFleckenstein03] - [x] 3D Armor preview in inventory [EliasFleckenstein03] - [x] Protectable paintings [kay27] - [x] Fix several issues with Mending [EliasFleckenstein03] - [x] 3D wielded nodes [EliasFleckenstein03] - [x] New MineClone2 header [epCode] - [x] Fix Mobs not taking Knockback on the Y-Axis [Code-Sploit] - [x] Instant wielditem change [Code-Sploit] - [x] Updated french translations [lrocher; pitchum] - [x] Better death messages [Code-Sploit] - [x] Depth strider enchantment [Code-Sploit] - [x] Add a setting to disable ore generation [AFMCS] See also: https://git.minetest.land/Wuzzy/MineClone2/milestone/2 Feel free to add items to the list, it's probably incomplete as I just added stuff I know about, which is mostly the stuff I did myself / planning to do myself.
LizzyFleckenstein03 changed title from Next release when? to 0.71.0 Release discussion 2021-01-25 13:17:58 +01:00

I really like the idea of discussing when to do a release and what features it should include. We should do this for every release. Let's show Wuzzy we can do it ;)

I really like the idea of discussing when to do a release and what features it should include. We should do this for every release. Let's show Wuzzy we can do it ;)
Contributor

Most of the job site blocks are actually useful for the players too, so we will need them at some point. That's why I said even if they start out as decorative blocks, which is harmless to the performance, they would be appreciated. Besides, how would we give a villager a profession? How about trading - is it planned or in the works? What exactly can be expected from the first villager release?

Most of the job site blocks are actually useful for the players too, so we will need them at some point. That's why I said even if they start out as decorative blocks, which is harmless to the performance, they would be appreciated. Besides, how would we give a villager a profession? How about trading - is it planned or in the works? What exactly can be expected from the first villager release?

Trading is completed. Villagers are pretty complete, they already exist for pretty long. It's the villages that are worked on (-> mapgen). You can try out villagers in creative mode. They just all have random jobs, and you can't change their jobs.

Sorry, I got you wrong about the adding job site blocks, of course we should add the blocks themselves.

EDIT: MineClone2's target is 1.11 - All of the blocks from your list were added in 1.0 or 1.14, and MineClone includes the 1.0 blocks on the list. I think the mechanic of job site blocks was added in the 1.14 update, so that is beyond the MineClone2 target anyway.

Trading is completed. _Villagers_ are pretty complete, they already exist for pretty long. It's the _villages_ that are worked on (-> mapgen). You can try out villagers in creative mode. They just all have random jobs, and you can't change their jobs. Sorry, I got you wrong about the adding job site blocks, of course we should add the blocks themselves. EDIT: MineClone2's target is 1.11 - All of the blocks from your list were added in 1.0 or 1.14, and MineClone includes the 1.0 blocks on the list. I think the mechanic of job site blocks was added in the 1.14 update, so that is beyond the MineClone2 target anyway.
Contributor

That's pretty nice. :) Now assigning and changing jobs might be something to look into before this update, because it's actually not a huge thing.

  1. The villagers need job blocks - even if they're decorative in the first iteration;
  2. You can assign an unemployed villager a job by placing a job site block close to their beds (so they can reach them considering their movement patterns [1]);
  3. Villagers who haven't traded with players lose their job if their job site block is destroyed (if they traded with players, they keep the job even if their job block is destroyed);
  4. You can only re-assign a villager to a different job if no player traded with that villager.

What do you think?

[1] Movement pattern: Villagers tend to not travel far from their beds in a large village unless the job site or the nearest gossip site (bell) is far from their beds. [...] If a villager finds itself outside the village boundary, or a villager without a village detects a village boundary within 32 blocks, it moves quickly back within the boundary. A villager taken more than 32 blocks away from its village boundary forgets the village within about 6 seconds. Whether in a village or not, a villager is never prone to despawning.

That's pretty nice. :) Now assigning and changing jobs might be something to look into before this update, because it's actually not a huge thing. 1. The villagers need job blocks - even if they're decorative in the first iteration; 2. You can assign an unemployed villager a job by placing a job site block close to their beds (so they can reach them considering their movement patterns [1]); 3. Villagers who haven't traded with players lose their job if their job site block is destroyed (if they traded with players, they keep the job even if their job block is destroyed); 4. You can only re-assign a villager to a different job if no player traded with that villager. What do you think? [1] [Movement pattern](https://minecraft.gamepedia.com/Villager#Movement_patterns): *Villagers tend to not travel far from their beds in a large village unless the job site or the nearest gossip site (bell) is far from their beds. [...] If a villager finds itself outside the village boundary, or a villager without a village detects a village boundary within 32 blocks, it moves quickly back within the boundary. A villager taken more than 32 blocks away from its village boundary forgets the village within about 6 seconds. Whether in a village or not, **a villager is never prone to despawning**.*

In which Minecraft version was assigning jobs introduced? I think it's 1.14. If so, we should not do it, since it is really a difficult and performance critical task, and if its 1.14 its very low priority.

In which Minecraft version was assigning jobs introduced? I think it's 1.14. If so, we should not do it, since it is really a difficult and performance critical task, and if its 1.14 its very low priority.
Member

I think #868 is realy important to resolve for 0.71.
This issue is very blocking for mods creation.

I think #868 is realy important to resolve for 0.71. This issue is very blocking for mods creation.
Contributor

Changing their professions by player interaction was added in 1.14 indeed, but the game kept a balance since 1.3.1:

Villagers now reassign their profession if there is a lack of a specific profession or if the number of villagers in a profession is unbalanced (i.e., if there are many farmer villagers and no blacksmith villagers, one change its skin, showing it has changed its profession).

Now don't take the following as a request to push for anything, I just want to understand why you think job reassiging is a performance critical task. Either you're thinking about a more complicated implementation than necessary, or I'm missing something.

Currently, whatever job gets assigned to a villager, they will keep it. Is the function doing the random job assignment implemented in a way that has a performance impact? If it isn't, I don't understand what would impact performance, because they can't change profession on their own, or randomly, the exception being the balancing done by the game - and it's a one time event even if it's "expensive". I don't know why flipping a few bytes (skin, profession, job site block coords) on an entity, one time, would have a constant performance impact.

From an algorithmic perspective, there are two main cases when having job site blocks:

  • a villager has a job and "owns" a certain node, in which case they will have a certain skin and will randomly "interact" with their job block, triggering a suggesting sound of their activity;
  • a villager doesn't have a job, and (unless they're nitwits, introduced in 1.11, or baby villagers, who cannot get a profession) if it finds a job site block that no villager "owns", it will go and interact with that node to take the profession.

So from a performance perspective I don't see what would be problematic. Their job site block interaction is just like the sheep eating grass at random time intervals, triggering a sound in the process. Only the farmer is supposed to do more than that, by planting and harvesting. Now with Minecraft 1.14 they also added a schedule, which is simply a behavior pattern reliant on the time of day, probably introduced for the villagers' activity to feel more natural. I see this schedule as a switch-case implementation.

So what would require CPU cycles or a lot of RAM in any of this, and why?

Changing their professions by player interaction was added in 1.14 indeed, but the game kept a balance [since 1.3.1](https://minecraft.gamepedia.com/Villager#History): > Villagers now reassign their profession if there is a lack of a specific profession or if the number of villagers in a profession is unbalanced (i.e., if there are many farmer villagers and no blacksmith villagers, one change its skin, showing it has changed its profession). Now don't take the following as a request to push for anything, I just want to understand why you think job reassiging is a performance critical task. Either you're thinking about a more complicated implementation than necessary, or I'm missing something. Currently, whatever job gets assigned to a villager, they will keep it. Is the function doing the random job assignment implemented in a way that has a performance impact? If it isn't, I don't understand what would impact performance, because they can't change profession on their own, or randomly, the exception being the balancing done by the game - and it's a one time event even if it's "expensive". I don't know why flipping a few bytes (skin, profession, job site block coords) on an entity, one time, would have a constant performance impact. From an algorithmic perspective, there are two main cases when having job site blocks: - a villager has a job and "owns" a certain node, in which case they will have a certain skin and will randomly "interact" with their job block, triggering a suggesting sound of their activity; - a villager doesn't have a job, and *(unless they're [nitwits](https://minecraft.gamepedia.com/Villager#Nitwit), introduced in 1.11, or baby villagers, who cannot get a profession)* if it finds a job site block that no villager "owns", it will go and interact with that node to take the profession. So from a performance perspective I don't see what would be problematic. Their job site block interaction is just like the sheep eating grass at random time intervals, triggering a sound in the process. Only the farmer is supposed to do more than that, by planting and harvesting. Now with Minecraft 1.14 they also added a [schedule](https://minecraft.gamepedia.com/Villager#Schedules), which is simply a behavior pattern reliant on the time of day, probably introduced for the villagers' activity to feel more natural. I see this schedule as a [switch-case implementation](https://gist.github.com/FreeBirdLjj/6303864). So what would require CPU cycles or a lot of RAM in any of this, and why?

The performance problem is not the changing jobs itself. The problem is determining the conditions when to change jobs; if we implement job switching it will result in a painful chain of issues like what happened with mob despawning, e.g. villagers changing their jobs right when the player is trading, villagers changing the jobs all the time, and so on. Compared to despawning, villagers changing their professions is just not really relevant. If we on villagers we should focus on making the villagers staying in the village and the village not being over- or underpopulated. That alone is hard enough.

But the thing is, we (afaik, tell me if I'm wrong) didn't even plan to touch the villager code, we only discussed the villages mapgen feature. I for myself don't plan to work on villagers, there is enough to do anyway. The feature that is worked on is "Generate villages" and not "Improve villagers". We can improve on villages later, but I'm against doing it in 0.71.0.

The performance problem is not the changing jobs itself. The problem is determining the conditions when to change jobs; if we implement job switching it will result in a painful chain of issues like what happened with mob despawning, e.g. villagers changing their jobs right when the player is trading, villagers changing the jobs all the time, and so on. Compared to despawning, villagers changing their professions is just not really relevant. If we on villagers we should focus on making the villagers staying in the village and the village not being over- or underpopulated. That alone is hard enough. But the thing is, we (afaik, tell me if I'm wrong) didn't even plan to touch the villager code, we only discussed the villages mapgen feature. I for myself don't plan to work on villagers, there is enough to do anyway. The feature that is worked on is "Generate villages" and not "Improve villagers". We can improve on villages later, but I'm against doing it in 0.71.0.

I think #868 is realy important to resolve for 0.71.
This issue is very blocking for mods creation.

If somebody wants to do this: Fine, but I'll not work on it in this release. Don't bloat the release with too many features. I think we should make a release at some point that gives MineClone2 a proper API. Many things are just pure pain, this one is just an example. Modders often have to waste their time working around workarounds. But again, we should focus on one or two big things in every release only. This release focuses on Villages and Animated chests as "big" features; as small features cleanups & fixes of the newer gameplay features (Enchanting, Burning, Status effects, Despawning) and tweaking of Minecarts & Boats.

I'd suggest to make 0.72 the Performance & API update. I'm also planning to complete the texture pack converter in 0.72.

Fishing is also something we need to work on sooner or later; but it seems like nobody is interested. I'll work on it in 0.73 unless someone else wants to do it earlier. By then we might have the required engine changes to make it actually good.

Another point we'll need to work on is making mobs in general a bit better (e.g. migrate to mobkit).

We might need a Roadmap / Milestones. Does gitea support something like that?

> I think #868 is realy important to resolve for 0.71. > This issue is very blocking for mods creation. If somebody wants to do this: Fine, but I'll not work on it in this release. Don't bloat the release with too many features. I think we should make a release at some point that gives MineClone2 a proper API. Many things are just pure pain, this one is just an example. Modders often have to waste their time working around workarounds. But again, we should focus on one or two big things in every release only. This release focuses on Villages and Animated chests as "big" features; as small features cleanups & fixes of the newer gameplay features (Enchanting, Burning, Status effects, Despawning) and tweaking of Minecarts & Boats. I'd suggest to make 0.72 the Performance & API update. I'm also planning to complete the texture pack converter in 0.72. Fishing is also something we need to work on sooner or later; but it seems like nobody is interested. I'll work on it in 0.73 unless someone else wants to do it earlier. By then we might have the required engine changes to make it actually good. Another point we'll need to work on is making mobs in general a bit better (e.g. migrate to mobkit). We might need a Roadmap / Milestones. Does gitea support something like that?
Contributor

Again, I was strictly interested in knowing why you considered the jobs a performance issue, so I'm not looking for having any of this in 0.71.0.

It looks like you have a more complicated idea about the implementation, but it can be kept simple.

In Minecraft, villagers:

  1. only wander a number of nodes around their beds (max 32, as far as I can tell from their wiki);
  2. don't despawn;
  3. don't change their professions on their own, but the game can give them new professions, as I exemplified earlier, but even if profession balancing would be implemented in MC2, that should only work for villagers who aren't currently trading with a player; so for the rare case when a player wants to trade a villager at the exact moment the game decides to reassign it a new job, the code could first check what the job the villagers had when the player interacted with them, and pass it as a parameter to the trading function, which would only show the trading UI if the jobs match;

Pseudocode:

if (right-click(villager)) {
  requestTrade(getJob(villager))
}

requestTrade(job) {
  if (villager.job == job) {
    showTradingUI()
  } else {
    doNothing()
  }
}

So this is event-based, and not a performance concern.

  1. underpopulation is not a concern, the only thing that the game does to protect the villagers is spawning iron golems (1 for each 10 villagers);
  2. overpopulation cannot happen naturally because the villagers will only breed when they're willing (since v1.8), which depends on (a) bed availability and (b) sufficient items in their possession (3 bread, 12 carrots, 12 potatoes, or 12 beetroots in one slot in their inventory) - so no empty beds = no breeding in the first place; beds are also claimed by villagers, like the job site blocks, making it easy to know which villager sleeps where.
Again, I was strictly interested in knowing why you considered the jobs a performance issue, so I'm not looking for having any of this in 0.71.0. It looks like you have a more complicated idea about the implementation, but it can be kept simple. In Minecraft, villagers: 1. only wander a number of nodes around their beds (max 32, as far as I can tell [from their wiki](https://minecraft.gamepedia.com/Villager#Behavior)); 2. don't despawn; 3. don't change their professions on their own, but the game *can* give them new professions, as I exemplified earlier, but even if profession balancing would be implemented in MC2, that should only work for villagers who aren't currently trading with a player; so for the rare case when a player wants to trade a villager at the exact moment the game decides to reassign it a new job, the code could first check what the job the villagers had when the player interacted with them, and pass it as a parameter to the trading function, which would only show the trading UI if the jobs match; Pseudocode: ``` if (right-click(villager)) { requestTrade(getJob(villager)) } requestTrade(job) { if (villager.job == job) { showTradingUI() } else { doNothing() } } ``` So this is event-based, and not a performance concern. 4. underpopulation is not a concern, the only thing that the game does to protect the villagers is spawning iron golems *(1 for each 10 villagers)*; 5. overpopulation cannot happen naturally because the villagers will only breed when they're willing (since v1.8), which depends on (a) bed availability **and** (b) sufficient items in their possession *(3 bread, 12 carrots, 12 potatoes, or 12 beetroots in one slot in their inventory)* - so no empty beds = no breeding in the first place; beds are also claimed by villagers, like the job site blocks, making it easy to know which villager sleeps where.

Add #995. At the time of writing, white treasure chest lids are unavoidable on mobile. (grammar?)

Add #995. At the time of writing, white treasure chest lids are unavoidable on mobile. (grammar?)
LizzyFleckenstein03 added the
#P3: elevated
label 2021-01-26 13:51:09 +01:00

I've created a Milestone for 0.71.0: https://git.minetest.land/Wuzzy/MineClone2/milestone/2

I've created a Milestone for 0.71.0: https://git.minetest.land/Wuzzy/MineClone2/milestone/2
LizzyFleckenstein03 added this to the 0.71.0 milestone 2021-01-26 14:16:30 +01:00

And Guys can you announce the ETA of 71.0

And Guys can you announce the ETA of 71.0
Contributor

This issue tracker is not a chat, please keep in mind everyone participating in each issue receives an email notification for each comment, so try to add everything you consider relevant into one message.

And typos can be fixed by editing your message - which also allows you to add more ideas to the same post if no one replied in the meantime.

P.S. Hello, and welcome to Minetest and MineClone 2. :)

This issue tracker is not a chat, please keep in mind everyone participating in each issue receives an email notification for each comment, so try to add everything you consider relevant into one message. And typos can be fixed by editing your message - which also allows you to add more ideas to the same post if no one replied in the meantime. P.S. Hello, and welcome to Minetest and MineClone 2. :)

Ok

Ok

Please stop spamming

Anyway, what about the 0.71 release date?
I'd say two weeks after Mt release, the 20th of February.

Please stop spamming Anyway, what about the 0.71 release date? I'd say two weeks after Mt release, the 20th of February.
Contributor

@EliasFleckenstein03 What do you think about the following? Some might be simple enough for the next release.

#46 Fishing rod + #807 Fishing improvements
#631 Equip armor with shift-click
#855 Check dirt before generating decorations
#897 Log weather changes
#898 Fishing bobber stuck in underwater block + more
#900 Applying bone meal only generates items on the same level of dirt
#916 Inconsistent behavior opening and closing trapdoors

@EliasFleckenstein03 What do you think about the following? Some might be simple enough for the next release. #46 Fishing rod + #807 Fishing improvements #631 Equip armor with shift-click #855 Check dirt before generating decorations #897 Log weather changes #898 Fishing bobber stuck in underwater block + more #900 Applying bone meal only generates items on the same level of dirt #916 Inconsistent behavior opening and closing trapdoors

Fishing is too big to be touched right now and we dont have the necessary engine changes.

Armor should be reworked later on (to use API from MT 5.3 instead of a workaround from 0.4.16), so that won't be included in this release.

Check dirt before generating decorations: I don't really know what to do here, mapgen is one of the things I leave up to others.

Log weather changes: We could put that one in, I don't think its a good idea tho, the logfile is spammed enough anyway. There should be a setting to enable/disable it. I've added it to the milestone.

The other ones are no problem, but I'll probably only work on it if there is enough time.

Fishing is too big to be touched right now and we dont have the necessary engine changes. Armor should be reworked later on (to use API from MT 5.3 instead of a workaround from 0.4.16), so that won't be included in this release. Check dirt before generating decorations: I don't really know what to do here, mapgen is one of the things I leave up to others. Log weather changes: We could put that one in, I don't think its a good idea tho, the logfile is spammed enough anyway. There should be a setting to enable/disable it. I've added it to the milestone. The other ones are no problem, but I'll probably only work on it if there is enough time.
Contributor

All sounds good, just keep in mind we have two sounds that we can use for fishing.

All sounds good, just keep in mind we have two sounds that we can use for fishing.
Member

OK, since you never did a release before, here's a list of things that I did for every release:

  • Check if MineClone 2 is still working properly
  • Update the README and bump the version number inside. Bump the last number if it's a pure bugfix release (e.g. “0.70.0” → “0.70.1”. Bump the second number if it's a feature release (e.g. “0.70.1” → “0.71.0”). Bump the first number if MineClone 2 is "feature complete and bug-free" and for substantial releases afterwards (e.g. “0.71.1” → “1.0.0“)
  • git tag the last commit with the version number (e.g. git tag 0.71.0)
  • Push your changes to repository (Don't forget to use --tags in git push!)
  • Add release on ContentDB
  • Update the 1st forum post: https://forum.minetest.net/viewtopic.php?f=50&t=16407
  • Post release announcement in the forums
OK, since you never did a release before, here's a list of things that I did for every release: * Check if MineClone 2 is still working properly * Update the README and bump the version number inside. Bump the last number if it's a pure bugfix release (e.g. “0.70.0” → “0.70.1”. Bump the second number if it's a feature release (e.g. “0.70.1” → “0.71.0”). Bump the first number if MineClone 2 is "feature complete and bug-free" and for substantial releases afterwards (e.g. “0.71.1” → “1.0.0“) * `git tag` the last commit with the version number (e.g. `git tag 0.71.0`) * Push your changes to repository (Don't forget to use `--tags` in `git push`!) * Add release on ContentDB * Update the 1st forum post: https://forum.minetest.net/viewtopic.php?f=50&t=16407 * Post release announcement in the forums

You already told us. I've also put it into CONTRIBUTING.md I think. ;)

You already told us. I've also put it into CONTRIBUTING.md I think. ;)
Member

Oh, right. My memory is broken sometimes. Control over ContentDB and forum post is still TODO, but I talked to rubenwardy now.

Oh, right. My memory is broken sometimes. Control over ContentDB and forum post is still TODO, but I talked to rubenwardy now.
LizzyFleckenstein03 added the due date 2021-02-20 2021-02-03 14:37:33 +01:00
Contributor

I think we should make a habit of stating which versions we use before anything, because some issues refer to the latest (or a specific) release, while some are about the latest development snapshot. It would help

If Gitea supports issue templates, it would help to have one like this:

Minetest version: (eg. 5.3.0)

MineClone 2 version: (eg. 0.70 or dev-903a29f949, or dev-latest)

903a29f949 is obvious (commit ID), which can be useful for 100% clarity. If the poster doesn't know how to get the ID, or if it's irrelevant, dev-latest would be good as well, as the issue's date and time can be correlated with the commit's if necessary.

I think we should make a habit of stating which versions we use before anything, because some issues refer to the latest (or a specific) release, while some are about the latest development snapshot. It would help If Gitea supports issue templates, it would help to have one like this: > Minetest version: (eg. 5.3.0) > > MineClone 2 version: (eg. 0.70 or dev-903a29f949, or dev-latest) 903a29f949 is obvious (commit ID), which can be useful for 100% clarity. If the poster doesn't know how to get the ID, or if it's irrelevant, dev-latest would be good as well, as the issue's date and time can be correlated with the commit's if necessary.

This is in particular an answer to MineClone2/MineClone2#1060 (comment)

Yes, it depends on 5.4.

Don't get irritated by the amount of issues that are still open. Many of them are duplicate, waiting for MT release, discussion issues, or with a checklist that is almost done. Some issues take very long to implement, others are easier, and Imo most of the big features are done. However, you are right that we'll probably not get everything done until the 20th. Therefore I suggest:

  • Moving some things like the effects API and texture converter documentation to 0.72 (as these two things fit the 0.72 topic more than the 0.71 anyway and are not urgent). I have started working on the effects API but I'd rather have more time to complete it.
  • Learning something for future releases: we kept adding things to the 0.71 milestone, even tho many things in there are not completed yet. We cannot complete a milestone that we constantly keep adding to. If you want to add to a milestone after it was created, the issues need to have to do with the general topic of the milestone or you need to immediately assign somebody who can realistically complete it in time. In general, most issues should be assigned. If there are unassigned issues left nobody really feels responsible.
  • Remembering that this is the first time MineClone2 had a due date for an release, so we don't need to feel bad if we don't get it done first time we try - even such a big project as minetest delayed its release. Also, MineClone2 development got delayed by the minetest release as well.
  • Keeping the master branch more stable in the future. Things like Crawling and Mob Despawning have been pushed to master immediately after being implemented - both are features that tend to be very problematic. By putting them into upstream, we basically have to resolve any problems with them until the next release, even if the feature was not originally planned. So, if you make a feature that could be problematic, better create a new branch and push it there - if you have commit access to the MineClone2/MineClone2, it's better to create a branch at the official repository than your own. Only because some features are in testing phase, it does not mean they are not official features.
  • Depending on how the other devs feel about their assigned issues, we could move the due date to the 1st of march.

Edit: I also announced this at the forums and on discord.

This is in particular an answer to https://git.minetest.land/MineClone2/MineClone2/issues/1060#issuecomment-14523 Yes, it depends on 5.4. Don't get irritated by the amount of issues that are still open. Many of them are duplicate, waiting for MT release, discussion issues, or with a checklist that is almost done. Some issues take very long to implement, others are easier, and Imo most of the big features are done. However, you are right that we'll probably not get everything done until the 20th. Therefore I suggest: - Moving some things like the effects API and texture converter documentation to 0.72 (as these two things fit the 0.72 topic more than the 0.71 anyway and are not urgent). I have started working on the effects API but I'd rather have more time to complete it. - Learning something for future releases: we kept adding things to the 0.71 milestone, even tho many things in there are not completed yet. We cannot complete a milestone that we constantly keep adding to. If you want to add to a milestone after it was created, the issues need to have to do with the general topic of the milestone or you need to immediately assign somebody who can realistically complete it in time. In general, most issues should be assigned. If there are unassigned issues left nobody really feels responsible. - Remembering that this is the first time MineClone2 had a due date for an release, so we don't need to feel bad if we don't get it done first time we try - even such a big project as minetest delayed its release. Also, MineClone2 development got delayed by the minetest release as well. - Keeping the master branch more stable in the future. Things like Crawling and Mob Despawning have been pushed to master immediately after being implemented - both are features that tend to be very problematic. By putting them into upstream, we basically have to resolve any problems with them until the next release, even if the feature was not originally planned. So, if you make a feature that could be problematic, better create a new branch and push it there - if you have commit access to the MineClone2/MineClone2, it's better to create a branch at the official repository than your own. Only because some features are in testing phase, it does not mean they are not official features. - Depending on how the other devs feel about their assigned issues, we could move the due date to the 1st of march. Edit: I also announced this at the forums and on discord.
Contributor

As long as 0.71 depends on Minetest 5.4.0 to be relased, the next MC2 release date can only be tentatively set. But we should keep in mind that 5.3.0 also had an RC2, and 5.4.0 is only in RC1 stage. We might as well set a flexible release date, like within 3-7 days after the 5.4.0 gets released. :P

As long as 0.71 depends on Minetest 5.4.0 to be relased, the next MC2 release date can only be tentatively set. But we should keep in mind that 5.3.0 also had an RC2, and 5.4.0 is only in RC1 stage. We might as well set a flexible release date, like within 3-7 days after the 5.4.0 gets released. :P
LizzyFleckenstein03 modified the due date from 2021-02-20 to 2021-03-01 2021-02-22 11:22:49 +01:00
LizzyFleckenstein03 added the
delayed for engine release
label 2021-02-23 10:22:16 +01:00
Contributor
[Minetest 5.4.0 is finally out](https://forum.minetest.net/viewtopic.php?p=390794)! :D

@kay27, there are still a lot of open issues in the 0.71 milestone assigned to you, should I take care of some of them? Should some of the issues be moved?

@kay27, there are still a lot of open issues in the 0.71 milestone assigned to you, should I take care of some of them? Should some of the issues be moved?
LizzyFleckenstein03 removed the
delayed for engine release
label 2021-02-25 09:53:04 +01:00
Author
Contributor

All except carts will just bugfixes - suit well for 0.72.
Carts - well... well... well... I don't like to push them right now, so many problems left, and so many upcoming features and tests... It can really spoil all the impression from new release.
So I'm sure I'll definitely continue working on it but let's just move these all and release what we currently have.

All except carts will just bugfixes - suit well for 0.72. Carts - well... well... well... I don't like to push them right now, so many problems left, and so many upcoming features and tests... It can really spoil all the impression from new release. So I'm sure I'll definitely continue working on it but let's just move these all and release what we currently have.
Contributor

I think we should move #1126, #1178, #1117, #1055, #924, #1002, #247 to the Mineclone 0.72 milestone. Unless some of them have already been done. I don't think these issues are important for Mineclone 0.71 and its time we release 0.71 and shift our focus to 0.72.

But I think it would be good to implement #567 so minecart becomes consistent with boat.

I think we should move #1126, #1178, #1117, #1055, #924, #1002, #247 to the Mineclone 0.72 milestone. Unless some of them have already been done. I don't think these issues are important for Mineclone 0.71 and its time we release 0.71 and shift our focus to 0.72. But I think it would be good to implement #567 so minecart becomes consistent with boat.
Contributor

#1117 should be fixed for 0.71 because it's really annoying and the remaining swimming issues are not hard to solve (compared to the earlier ones). We'll be using 0.71 for a while, so waiting for another day is worth it.

#1117 should be fixed for 0.71 because it's really annoying and the remaining swimming issues are not hard to solve (compared to the earlier ones). We'll be using 0.71 for a while, so waiting for another day is worth it.
Author
Contributor

@epCode please take a look if you can fix MineClone2/MineClone2#1117
let me know if you need some help

@ryvnf OK, MineClone2/MineClone2#567 is easy, I'll try to close it today.

@epCode please take a look if you can fix https://git.minetest.land/MineClone2/MineClone2/issues/1117 let me know if you need some help @ryvnf OK, https://git.minetest.land/MineClone2/MineClone2/issues/567 is easy, I'll try to close it today.

I want #1178 and #1117 to be done before 0.72. Minecarts would be cool, but if you're not done until first of march, that's ok as well.

I want #1178 and #1117 to be done before 0.72. Minecarts would be cool, but if you're not done until first of march, that's ok as well.
Member

Both on me, oh boy, :). I will work on these mainly today then.

Both on me, oh boy, :). I will work on these mainly today then.
Contributor

I also think #1152 should fixed before 0.71 if possible. We want to avoid having critical bugs in the release since Mineclone2 will probably stay on 0.71 for a while. Unless generating villagers are disabled.

Also applies to #1131 but I think that can have slightly less priority. But I think we ideally should fix both for 0.71.

I also think #1152 should fixed before 0.71 if possible. We want to avoid having critical bugs in the release since Mineclone2 will probably stay on 0.71 for a while. Unless generating villagers are disabled. Also applies to #1131 but I think that can have slightly less priority. But I think we ideally should fix both for 0.71.
Contributor

Also adding #1203 to the list of things I think we want to fix for 0.71.

Also adding #1203 to the list of things I think we want to fix for 0.71.

Fixing #1152 should be as easy as removing the toolcaps from tools when serialized and applying them again when the player actually trades for them. I have assigned myself.

#1203 should be trivial as well.

#1131 should be done in 0.72 because changing creative / damage ingame has certainly to do with gamemode switching and I don't think it's a good idea to implement dynamic in-game changing of damage using settings if we want to do it per-player in the next release anyway.

Fixing #1152 should be as easy as removing the toolcaps from tools when serialized and applying them again when the player actually trades for them. I have assigned myself. #1203 should be trivial as well. #1131 should be done in 0.72 because changing creative / damage ingame has certainly to do with gamemode switching and I don't think it's a good idea to implement dynamic in-game changing of damage using settings if we want to do it per-player in the next release anyway.

i also think #1194 should be done in 0.71. my son says it's very annoying when the lava flows faster than the water. it's very hard to make obsidian.

i also think #1194 should be done in 0.71. my son says it's very annoying when the lava flows faster than the water. it's very hard to make obsidian.

How does this make sense? You can't even create obsidian from flowing lava, it needs to be lava source. The flowing speed of lava has nothing to do with obsidian. Also didn't you see I added the "needs engine change" label? We currently can't fix this.

How does this make sense? You can't even create obsidian from flowing lava, it needs to be lava source. The flowing speed of lava has nothing to do with obsidian. Also didn't you see I added the "needs engine change" label? We currently can't fix this.
Contributor

it's very hard to make obsidian.

There are very easy ways too. Just use dirt to create a shape (like scaffolding) around the places you need to place the lava source blocks, then pour water over those. It takes about 5 minutes.

Check this out: https://youtu.be/vkdyl57CHoc

^ Now the guy in the video went from top to bottom, which makes things a bit harder with lava flowing. As long as you have the shapes for each layer going up, pour water and no lava will spill anywhere.

> it's very hard to make obsidian. There are very easy ways too. Just use dirt to create a shape (like scaffolding) around the places you need to place the lava source blocks, then pour water over those. It takes about 5 minutes. Check this out: [https://youtu.be/vkdyl57CHoc](https://youtu.be/vkdyl57CHoc) ^ Now the guy in the video went from top to bottom, which makes things a bit harder with lava flowing. As long as you have the shapes for each layer going up, pour water and no lava will spill anywhere.

@kay27 I'd prefer to release 0.71 soon, so what is the ETA for minecarts? It's perfectly fine if chest/hopper/furnace minecarts are not implemented. I moved nether portal linking for now.

As soon as #1152 and #1178 and Minecarts (at least particulary) are done we can release.

@kay27 I'd prefer to release 0.71 soon, so what is the ETA for minecarts? It's perfectly fine if chest/hopper/furnace minecarts are not implemented. I moved nether portal linking for now. As soon as #1152 and #1178 and Minecarts (at least particulary) are done we can release.
Author
Contributor

In addition to this: let's close critical labels and release. If you want to fix current carts yourself - please feel free. What I'm doing offline is more likely a complete redesign, there is a lot of work still. Carts really have many problems for me. I still don't know how to resolve some of them. Main problem is client/server synchronization, especially when there is a lag and the speed is high, and all the stuff related - e.g. proper physical state: I'm still comparing 3 versions of code and can't decide which behaves better - they behave different in some specific conditions, e.g when you move through tunnels with solid walls, meet the mobs, etc. Maybe I should add three different carts to some publicly listed server to let you guys check them yourselves... but now the best one is from latest MTG, to be honest

In addition to [this](https://git.minetest.land/MineClone2/MineClone2/issues/247#issuecomment-15820): let's close critical labels and release. If you want to fix current carts yourself - please feel free. What I'm doing offline is more likely a complete redesign, there is a lot of work still. Carts really have many problems for me. I still don't know how to resolve some of them. Main problem is client/server synchronization, especially when there is a lag and the speed is high, and all the stuff related - e.g. proper physical state: I'm still comparing 3 versions of code and can't decide which behaves better - they behave different in some specific conditions, e.g when you move through tunnels with solid walls, meet the mobs, etc. Maybe I should add three different carts to some publicly listed server to let you guys check them yourselves... but now the best one is from latest MTG, to be honest

Hmm ok. Then lets just get #1152 and #1178 done and we're ready to release, I hope you'll be able to port some minecart features tho.

Hmm ok. Then lets just get #1152 and #1178 done and we're ready to release, I hope you'll be able to port some minecart features tho.

Could You please give a deb of minetest 5.4.0
armhf for raspbian

Could You please give a deb of minetest 5.4.0 armhf for raspbian

This does not have anything to do with MineClone2 0.71. Please stop offtopic posts.

This does not have anything to do with MineClone2 0.71. Please stop offtopic posts.

OK, I'm releasing 0.71 now. No commits to master please until it is done!

OK, I'm releasing 0.71 now. No commits to master please until it is done!
Sign in to join this conversation.
No Milestone
No project
No Assignees
10 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

2021-03-02

Dependencies

No dependencies set.

Reference: VoxeLibre/VoxeLibre#997
No description provided.