Categories
BTS

BTS #1

Hello everyone, welcome to the first post of behind the scenes. I left this post to the 2nd of April for obvious reasons.

Crafting Emulator v2

I’ve been working on a new version of our crafting emulator. Built from scratch. The original crafting emulator was a tool that emulates (or at least tried to emulate) the feel and functionality of the crafting table by allowing you to place ingredients on a 3×3 grid and have a result item that you could obtain.

The image above shows the interface you’d interact with when crafting an item. The only difference is that you could only craft custom recipes we had made. It works mostly as intended with a weird hitch that plagues this and some other GUIs (Graphical User Interfaces). The hitch being sometimes the server would not allow you to place or pick up items. Odd behaviour right?

The Problem

A lot of plugins I see on spigot claim to have the functionality of ‘custom recipes’, but this boils mostly down to custom recipes using vanilla items. As soon as you want to make a recipe using a custom item, by giving it metadata or additional tags, you can’t. Minecraft has never needed to check for all these factors when checking for a compatible recipe. By placing items into the default crafting table, Minecraft will only compare material types and nothing more. This is a big problem if you want to compare based on material type and other tags or metadata that the item has.

The Solution

Crafting emulator v2 does away with the custom GUI and uses the original crafting table. It’s more intuitive for even newbies as you don’t require any prior knowledge to shift-left click on the table to access the special GUI and combining all crafting into one menu that anyone who has played Minecraft is familiar with.

To prevent Minecraft from doing its usual recipe checking by material type, crafting emulator v2 removes that responsibility from Minecraft and emulates all of its recipes. Below are some small clips of it in action. Remember, these are all emulated, the server now handles crafting instead of the game.

Shapeless Recipes

Shapeless recipes are recipes that only require a set of ingredients but don’t care about where they are placed on the crafting grid.

Shaped Recipe

Shaped recipes are recipes that are adamant about how the ingredients are placed on the crafting grid.

In addition to supporting shapeless and shaped recipes, crafting emulator v2 also supports multiple item amounts of a type in the same slot. As shown below, a hypothetical recipe where an anvil is made ludicrously expensive by requiring 128 iron ingots (32 in each of the 4 slots). The recipe only shows the anvil in the result slot when all 128 ingots are present along with its iron blocks.

Crafting emulator v2 functions just like the default Minecraft crafting (with an added bonus). It’s just as fast at finding recipes if not faster, supports multiple items per slot, and will allow custom recipes using custom items without recipe clashing. At the time of writing, only vanilla shaped and shapeless recipes are supported. The next set of tests involve attempting to implement custom recipes using custom items. We may expand the emulator to emulate other vanilla recipes like furnaces, brewing stands, and maybe stone cutting.

Before going on this adventure of building crafting emulator v2, I ran a quick scan of every type of recipe in Minecraft.

Type: minecraft:campfire_cooking - 9
Type: minecraft:crafting_special_firework_star_fade - 1
Type: minecraft:crafting_shaped - 491
Type: minecraft:smithing - 9
Type: minecraft:crafting_special_repairitem - 1
Type: minecraft:crafting_special_bannerduplicate - 1
Type: minecraft:crafting_special_firework_rocket - 1
Type: minecraft:crafting_special_shielddecoration - 1
Type: minecraft:crafting_shapeless - 143
Type: minecraft:smelting - 53
Type: minecraft:crafting_special_tippedarrow - 1
Type: minecraft:crafting_special_armordye - 1
Type: minecraft:crafting_special_mapcloning - 1
Type: minecraft:stonecutting - 121
Type: minecraft:blasting - 11
Type: minecraft:crafting_special_shulkerboxcoloring - 1
Type: minecraft:crafting_special_mapextending - 1
Type: minecraft:crafting_special_suspiciousstew - 1
Type: minecraft:smoking - 9
Type: minecraft:crafting_special_firework_star - 1
Type: minecraft:crafting_special_bookcloning - 1

As of Minecraft 1.16.4, there are over 491 shaped recipes and 143 shapeless recipes. Out of the 859 recipes, 634 of them have been successfully emulated. How did I manage to get the server to find the correct recipe so fast? Well, that’s a trade secret 🙂 I’ll just say through some clever logic tricks.

Crafting emulator v2 is due to come out with Core 0.6.0, the summer update.

Final notes

Some other things I’ve been doing are finishing up the AbyssGUI framework (our lightweight internal GUI framework). Behold glorious RGB backgrounds!

I’ve also looked into seeing if I could make combat feel a bit more responsive. When you’re hit by a mob or a player, the server gives you god mode for about 1 second (1 second is 20 ticks). After this time has expired you can be hit again. I never liked this limitation as it felt like the server couldn’t handle registering the player’s many hits. Below is a small clip of an experiment. It pictures me reducing this god mode from 20 ticks down to 0. I am able to hit the zombie so quickly that it dies in a few seconds.

I would not actually remove this god mode timer altogether as it would prove a serious problem if you could get KO’d in a matter of milliseconds by people with fast jitter clicking. At most I’d halve it. Keeping it at 10. It already feels a lot better.

There is not a lot of BTS news from other people this month. There has been a lot of lore discussion around Athendria, Yuki (one of our developers) is working on the new questing system for Athendria, and Nyx (one of our operators) is planning to do some network upgrades coming this summer.

That’s all for BTS this month, thank you for reading!

-Lav

Categories
General

Update on what’s happening

Hello everyone, I know its been somewhat of a long time since our last post. So what’s been going on since January?

Some progress has been made to the Athendria map in the way of builds, lore writing, quest building, and resource pack refinement. Below is a screenshot of Cryx.

However, progress is a tad slow because this is a volunteer project and no one is forced to be here. Motivation is at an all time low for builders at the moment, not that I can blame them. Building an RPG is no easy task. Over the next few weeks we plan to do some re-structing of the various content teams to ensure they’re a lot more sustainable and that people know what to get on with.

On the development side of things, I’ve made a massive leaps in progress with the new version of Core. For those of you who don’t know, VertexCore (some people just refer to it as Core) is the main foundation that a lot of Vertex infrastructure is built upon. I’m very adamant about performance, cleanness of code and robustness which is why it takes a long time for a big update for Core to come out.

This has also been the reason why I have not been able to tend to many fixes / changes / updates to our Mellow gamemode (as much as I would really want to). At the time, new people were arriving and I wanted to give them something to play with. So I had to quickly port an older version of Core to 1.16.4.

Core has been in the works for nearly 2 and a half years. So I’ve spent my fair share of refactoring and optimisation. The current version the server runs as of this post is 0.5.3, or in Mellows case, 0.5.4. I’ve been working on 0.6.0 since around September of 2020. It includes a vast number of new features including things such as: a much more efficient parser with auto-generated tab complete and documentation, a more expansive GUI framework, and a lot better security.

I’ll personally be starting a BTS (Behind the scenes) line of posts that will get published once a month at the start of each month, giving highlights of what progress has been made and generally stuff that has gone on inside Vertex.

That’s all for now, I’ll see you 1st/2nd of April when the first BTS goes up! Thanks for sticking with us <3

-Lav

Categories
Uncategorized

Mellow Changelog

Change log 16/01/2021

  • Fixed ender dragon not spawning
  • Fixed items disappearing at spawn and close to 0,0 in the nether
  • Made adjustments to mob spawn rates to help with TPS
  • Death messages now show in chat
  • /recipebook now works and shows basic and advanced recipes
  • Made lodestone cheaper to craft so players can make more homes. The recipe is the same as the vanilla one but using a gold ingot instead of a netherite ingot
  • Fixed smiley faces, sad faces, and hearts not showing correctly in chat
  • Added ArtMap, you can now create map art! /artmap
  • Fixed weird issue with lodestones not working correctly. Do note that you CANNOT pick up lodestones after they have been placed. Only placing ‘Holy Lodestones’ will work as setting a new home. This will change with a future update.

Vertex Premium will be coming soon if you’d like to support the server. All the funds go to buying a much more powerful server for you all to play on! Vertex Premium comes in bronze, silver, and gold variants and is a lifetime rank. The perks are all cosmetic and don’t affect progression as we’re not pay to win. The list of perks is a little small right now but it will grow as we’re able to add more things. Perks added to a premium rank in the future will not have to be payed for, you will just get them if you have already bought the rank.

That’s all for now, happy crafting!

-Lav

Categories
General

Website Overhaul

Hello there! I am here to announce that we have a brand new overhauled website! Gone is the old video of the hub and gone is the old scheme. Some changes to note are as follows:

  • We now have a ‘News’ page where you can view current and past updates to the network. Anytime a new post becomes available it will be posted in announcements channel in our discord.
  • Each of our game mode pages have had a makeover and provide better insights to what features it has.
  • Premium has been redacted as we feel it is incomplete and will be released when we have suitable infrastructure in place for it.
  • We have an ‘Apply’ page where you can find links to any applications if you wish to write an application to join the Vertex team! As of writing this builder and web developer applications are open.
  • We have a ‘Storage’ page. Here you can find various download links for resourcepacks and maps. In the future other resources will be made available in here.
  • The mobile view of the website is now a lot more compatible. It works on the majority of devices (Really old devices might have a few hiccups).

We’re still tuning the website so there may be a few kinks we’ve not ironed out yet (spelling mistakes, incorrect styling etc.).

That’s all for now, stay tuned for some future posts! Thanks for sticking around!

-Lav