<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: SupremeObsidian</title>
    <description>The latest articles on DEV Community by SupremeObsidian (@supreme).</description>
    <link>https://dev.to/supreme</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F3151%2Feb608b06-51bb-47e0-a7c0-ab1af3814d23.png</url>
      <title>DEV Community: SupremeObsidian</title>
      <link>https://dev.to/supreme</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/supreme"/>
    <language>en</language>
    <item>
      <title>Devblog 3</title>
      <dc:creator>Fisher</dc:creator>
      <pubDate>Mon, 02 Nov 2020 22:50:15 +0000</pubDate>
      <link>https://dev.to/supreme/devblog-3-4m66</link>
      <guid>https://dev.to/supreme/devblog-3-4m66</guid>
      <description>&lt;h1&gt;
  
  
  What's new this week in SupremeObsidian.
&lt;/h1&gt;

&lt;p&gt;This week we worked an absolute ton on professions, as well as worked on biomes and how they work within our terrain generation system.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fisher
&lt;/h2&gt;

&lt;p&gt;This week I did some minimal work on spells, getting different specific subclasses working. Each player class type will have a different set of spells that they can use. Inside of those sets will be other different types, like specializations.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--wzuwVyFy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/3rp689zmdfejs16kzspq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wzuwVyFy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/3rp689zmdfejs16kzspq.png" alt="SpellTypes"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Again, very primitive, early work on this, but still laying the groundwork for that.&lt;/p&gt;

&lt;p&gt;This week I mostly contributed to the resourcepack building script that I talked about in detail &lt;a href="https://dev.to/fishermedders/how-i-host-minecraft-server-resourcepacks-on-github-2ia4"&gt;in this post&lt;/a&gt;. This makes it very easy for us to host our resourcepacks in a Github repository, so we can all make changes and update it automatically through &lt;a href="https://github.com/features/actions"&gt;Github Actions&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I also started updating our Discord bot with new code, and prepared a new branch for &lt;strong&gt;Fyrlex&lt;/strong&gt;, one of our new Developers, and I to start working on the bot rewrite.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--yZaIBwGK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/jufi4okpn4j0l1jzomct.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--yZaIBwGK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/jufi4okpn4j0l1jzomct.png" alt="Discord Rank Separators"&gt;&lt;/a&gt;&lt;br&gt;
This is an image of the new rank specific separators that I implemented just last night.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;pssst we are gonna have a towny server soon&lt;/code&gt;&lt;br&gt;
did anyone hear something? not I.&lt;/p&gt;
&lt;h2&gt;
  
  
  Async
&lt;/h2&gt;

&lt;p&gt;This week I made the world more realistic by making it use more octaves for noise, and also added in &lt;a href="https://en.wikipedia.org/wiki/Fractional_Brownian_motion"&gt;Frational Brownian Motion&lt;/a&gt;, and made the oceans slightly steeper.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5lU21hvu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/qkfxuj2t3lfkbc0gjujg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5lU21hvu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/qkfxuj2t3lfkbc0gjujg.png" alt="Height map"&gt;&lt;/a&gt;&lt;br&gt;
This is an example of a height map that uses random noise!&lt;/p&gt;
&lt;h2&gt;
  
  
  Fyrlex
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;Disclaimer, this is Fisher speaking for Fyrlex&lt;/em&gt;&lt;br&gt;
This week, we got a new Developer by the name of Fyrlex. He's gonna be working on our discord bot, as well as his own. I hear he's got a lot of experience in this area and can't wait to collaborate with him rewriting the current iteration of our bot.&lt;/p&gt;
&lt;h2&gt;
  
  
  violetskyzz
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;Still Fisher speaking&lt;/em&gt;&lt;br&gt;
This week, violet spent a lot of time working on the textures and models for the Professions. Here's a good amount of textures that have been made now.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--tE7tFwYD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/b99za5njmv1xh3dugk9m.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--tE7tFwYD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/b99za5njmv1xh3dugk9m.gif" alt="Different Grindstone Speeds"&gt;&lt;/a&gt;&lt;br&gt;
Different Grindstone Speeds are shown here&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--mdZKESdn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/5qqmaxxvr581iu101jga.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mdZKESdn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/5qqmaxxvr581iu101jga.png" alt="New Models"&gt;&lt;/a&gt;&lt;br&gt;
Here we see the Bucket with nothing, with water, the bellows for the blacksmith furnace, and all of the different new types of ingots.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4t1bxNFA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/as6ur9b4leptgstex3fq.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4t1bxNFA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/as6ur9b4leptgstex3fq.gif" alt="Bellow animation"&gt;&lt;/a&gt;&lt;br&gt;
Here we see the new bellow animation for the blacksmith furnace.&lt;/p&gt;
&lt;h2&gt;
  
  
  &lt;strong&gt;Kennedy&lt;/strong&gt;
&lt;/h2&gt;
&lt;h3&gt;
  
  
  &lt;strong&gt;New Items and Blocks&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Each new item and block that Kennedy has added this week is accessible with the command "/ci"&lt;/p&gt;
&lt;h5&gt;
  
  
  &lt;strong&gt;Blacksmith Grindstone&lt;/strong&gt; &lt;em&gt;(Block)&lt;/em&gt;
&lt;/h5&gt;

&lt;p&gt;The Blacksmith Grindstone will be used by the blacksmith profession to sharpen swords and axes- possibly tools as well! The sharpness of an item increases the temporary lifespan of that item by increasing the item's instantaneous durability. However, every time an item is sharpened, the max durability of that item is decreased by half of what the item gained back in durability. Therefore, items are doomed to break... eventually, but it can be delayed with sharpening.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Example&lt;/strong&gt;: A sword with 100/500 durability is sharpened. The sword now has 200/450 durability.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This Grindstone is also animated using custom model data when it is being used. There will also be an animation for the item being sharpened in the next update to the grindstone.&lt;/p&gt;
&lt;h5&gt;
  
  
  &lt;strong&gt;Blacksmith Furnace&lt;/strong&gt; &lt;em&gt;(Block)&lt;/em&gt;
&lt;/h5&gt;

&lt;p&gt;The Blacksmith Furnace will be used by the blacksmith profession to smelt ores into &lt;strong&gt;Metal Ingots&lt;/strong&gt;. Only &lt;strong&gt;Metal Ores&lt;/strong&gt; can be placed into the crafting slot of the furnace. Metal Ores must each reach a specific &lt;strong&gt;Melting Point&lt;/strong&gt; in the furnace to turn into ingots. The furnace's heat can be initially set using different tiers of burnable &lt;strong&gt;fuel.&lt;/strong&gt; &lt;em&gt;(Not implemented yet)&lt;/em&gt; Each Fuel will have a different &lt;strong&gt;base burning temperature&lt;/strong&gt;. The furnace's temperature can then be increased from its base temperature using a &lt;strong&gt;Blacksmith Bellow&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8d7B2Joe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/p3il3mmcrcb41wtiusxh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8d7B2Joe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/p3il3mmcrcb41wtiusxh.png" alt="Furnace"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There will also be an animation for the ore being smelted, and placed into the furnace in the next update to the furnaces.&lt;/p&gt;
&lt;h5&gt;
  
  
  &lt;strong&gt;Blacksmith Cauldron&lt;/strong&gt; &lt;em&gt;(Block)&lt;/em&gt;
&lt;/h5&gt;

&lt;p&gt;The Blacksmith Cauldron will be used by the blacksmith profession to cool down &lt;strong&gt;hot items&lt;/strong&gt; that were just crafted on the &lt;strong&gt;Blacksmith Anvil&lt;/strong&gt;. Hot items cannot be equipped or used until cooled. Also, the attributes of that item/weapon will become visible once that item/weapon is cooled. A Blacksmith Cauldron must be filled with water using a &lt;strong&gt;Water Pail&lt;/strong&gt; &lt;em&gt;(See unimplemented items)&lt;/em&gt; before it can be used. When used, a "cooling" animation plays. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hDU-zH1U--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/dz27lku1pvpaa7jkb8yx.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hDU-zH1U--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/dz27lku1pvpaa7jkb8yx.gif" alt="Cauldron Animation"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h5&gt;
  
  
  &lt;strong&gt;Blacksmith Anvil&lt;/strong&gt; &lt;em&gt;(Block)&lt;/em&gt;
&lt;/h5&gt;

&lt;p&gt;The Blacksmith Anvil will be used by the blacksmith profession to choose and craft &lt;strong&gt;hot armor and weapons&lt;/strong&gt; from &lt;strong&gt;Metal Ingots&lt;/strong&gt;. A &lt;strong&gt;Blacksmith Hammer&lt;/strong&gt; is necessary to craft items on the anvil. When crafting, a "hammer" animation will play with the blacksmith hammer. The item crafted on the anvil will be a "Hot" variant of its selected parent item, which is either a piece of &lt;strong&gt;Armor&lt;/strong&gt; or a weapon. This "Hot" item cannot be used or equipped, until cooled in the Blacksmith Cauldron.&lt;/p&gt;

&lt;p&gt;Each item has a recipe cost of 1-5 ingots of any &lt;strong&gt;Metal Ingot&lt;/strong&gt;. This means you can use any combination of metal alloys to craft armor, and the attribute boosts will stack. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--rP1m01ox--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/pz0zaymem1qcvq8kcyq0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rP1m01ox--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/pz0zaymem1qcvq8kcyq0.png" alt="Anvil"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h5&gt;
  
  
  &lt;strong&gt;Metal Ingots and Ores&lt;/strong&gt; &lt;em&gt;(Items)&lt;/em&gt;
&lt;/h5&gt;

&lt;p&gt;Metal Ingots will be used by the blacksmith profession to craft items. They are obtained by smelting ores in a &lt;strong&gt;Blacksmith Furnace&lt;/strong&gt;. You can use any combination of metal alloys to craft &lt;strong&gt;Armor&lt;/strong&gt;, and the attribute boosts will stack. The melting point is the temperature at which the furnace needs to be to melt the metal's ore into Metal Ingots. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Example&lt;/strong&gt;: An item created with 4 aluminum ingots (1% boost each) will have a total of +4% attribute boost applied to the final item. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--WwGipPL_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/5gotrxt1y7y83pgnigmp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WwGipPL_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/5gotrxt1y7y83pgnigmp.png" alt="Ingots"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h5&gt;
  
  
  &lt;strong&gt;Blacksmith Bellow&lt;/strong&gt; &lt;em&gt;(Handheld Item)&lt;/em&gt;
&lt;/h5&gt;

&lt;p&gt;The bellow is an animated hand-held tool that can be used by the blacksmith profession to increase the instantaneous temperature of a &lt;strong&gt;Blacksmith Furnace&lt;/strong&gt;. The rate at which it increases temperature is still undetermined. It will likely be dependent on the level of the blacksmith themselves.&lt;br&gt;
All professions can use it by clicking or holding down their right mouse button to blow air particles. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev-to-uploads.s3.amazonaws.com/i/wydi6zzwe4i5jobcd1dw.gif"&gt;Bellow&lt;/a&gt;&lt;/p&gt;
&lt;h5&gt;
  
  
  &lt;strong&gt;Hot Items&lt;/strong&gt; &lt;em&gt;(Items)&lt;/em&gt;
&lt;/h5&gt;

&lt;p&gt;Hot Items are crafted on a &lt;strong&gt;Blacksmith Anvil&lt;/strong&gt;, and cannot be worn or used until cooled in a &lt;strong&gt;Blacksmith Cauldron&lt;/strong&gt;. Attributes are inherited on that item, but not visible to the player. The attributes will become visible once that item is cooled. They can be differentiated from their cooled counterparts by a red texture overlay on their icon, and "Hot" in their ItemMeta displayname. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Wg9Y6W9o--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/kuh0pk0wa2xil5kazhnn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Wg9Y6W9o--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/kuh0pk0wa2xil5kazhnn.png" alt="Hot Chestplate"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;
  
  
  &lt;strong&gt;Armor&lt;/strong&gt; &lt;em&gt;(Wearable Items)&lt;/em&gt;
&lt;/h4&gt;

&lt;p&gt;Armor is a wearable item that is used by different &lt;strong&gt;character classes&lt;/strong&gt; to defend against attacks from &lt;strong&gt;monsters&lt;/strong&gt; or &lt;strong&gt;other players in PVP&lt;/strong&gt;. Each piece of armor has a level, attributes, initial durability, and a specific player class by whom which the armor can only be used by. Armor can either be crafted on a &lt;strong&gt;Blacksmith Anvil&lt;/strong&gt;, purchased from other players, or found in loot.&lt;/p&gt;
&lt;h4&gt;
  
  
  Armor Craft/Drop Rates
&lt;/h4&gt;

&lt;p&gt;Drop rates for Armor is increased by crafting it on a &lt;strong&gt;Blacksmith Anvil&lt;/strong&gt;: &lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Item Level&lt;/th&gt;
&lt;th&gt;Natural Drop Rate&lt;/th&gt;
&lt;th&gt;Anvil Drop Rate&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;1.80%&lt;/td&gt;
&lt;td&gt;1.6%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;1.78&lt;/td&gt;
&lt;td&gt;1.59%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3 - 99&lt;/td&gt;
&lt;td&gt;...&lt;/td&gt;
&lt;td&gt;...&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;100&lt;/td&gt;
&lt;td&gt;0.19%&lt;/td&gt;
&lt;td&gt;0.39%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Natural Drop Rate&lt;/strong&gt; = (5-((Level-1)&lt;em&gt;0.045))/2.7725&lt;br&gt;
**Anvil Drop Rate&lt;/em&gt;* = -0.0254585*(Level)+(5.045/1.5)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Ged36Fmu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/rkznidipq5neqhxc8249.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Ged36Fmu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/rkznidipq5neqhxc8249.png" alt="Chestplate Lore"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Armor's &lt;strong&gt;attributes, materials,&lt;/strong&gt; and &lt;strong&gt;required class&lt;/strong&gt; are all included in the armor's lore.&lt;br&gt;&lt;br&gt;
The Armor's &lt;strong&gt;star-rating&lt;/strong&gt; is determined by calculating the total "score" accumulated by armor level, positive attributes, initial durability, and material used compared to a piece of armor with "perfect" armor level, attributes, initial durability, and material.&lt;br&gt;&lt;br&gt;
The Armor's current &lt;strong&gt;durability&lt;/strong&gt; is shown in green on the durability bar in the item's lore. Durability that can be regained by repair or sharpening (weapons only) is indicated by grey on the durability bar. Durability that cannot be regained due to sharpening (weapons only) or [OTHER REASONS REDACTED] is indicated by red on the durability bar.&lt;/p&gt;

&lt;p&gt;The length of the divider line between item information and its attributes is equal to the length of the longest line of lore applied to the item. &lt;/p&gt;
&lt;h4&gt;
  
  
  Blacksmith Items not yet implemented
&lt;/h4&gt;
&lt;h5&gt;
  
  
  &lt;strong&gt;Blacksmith Hammer&lt;/strong&gt;
&lt;/h5&gt;

&lt;p&gt;The &lt;strong&gt;Blacksmith Hammer&lt;/strong&gt; is a tool used by the blacksmith profession to craft items with the &lt;strong&gt;Blacksmith Anvil&lt;/strong&gt;. It can be found in natural drops around the world. There are 5 tiers of Blacksmith Hammers that can be acquired, each with different attributes. &lt;br&gt;
The attributes of each tier of Blacksmith Hammer can be seen below:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th&gt;Crafting Time Reduction&lt;/th&gt;
&lt;th&gt;Durability&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Broken Hammer&lt;/td&gt;
&lt;td&gt;-50%&lt;/td&gt;
&lt;td&gt;200&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Old Hammer&lt;/td&gt;
&lt;td&gt;-25%&lt;/td&gt;
&lt;td&gt;300&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Firm Hammer&lt;/td&gt;
&lt;td&gt;0%&lt;/td&gt;
&lt;td&gt;400&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sturdy Hammer&lt;/td&gt;
&lt;td&gt;+25%&lt;/td&gt;
&lt;td&gt;500&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Shiny Hammer&lt;/td&gt;
&lt;td&gt;+50%&lt;/td&gt;
&lt;td&gt;600&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--895dvXTs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ic69o8d90j35fupjzxqf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--895dvXTs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ic69o8d90j35fupjzxqf.png" alt="Hammer"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h5&gt;
  
  
  &lt;strong&gt;Water Pail&lt;/strong&gt;
&lt;/h5&gt;

&lt;p&gt;A &lt;strong&gt;Water Pail&lt;/strong&gt; is a handheld item that can be used to transport water and fill &lt;strong&gt;Blacksmith Cauldrons&lt;/strong&gt;. &lt;br&gt;
There will be an animation when filling a Water Pail at a water source block, or another full cauldron. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--XvZEkHly--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/wpn8hqika15wmee3gbha.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--XvZEkHly--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/wpn8hqika15wmee3gbha.png" alt="Water Pail"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  &lt;strong&gt;Profession Crafting Mechanics&lt;/strong&gt;
&lt;/h3&gt;
&lt;h5&gt;
  
  
  &lt;strong&gt;SupremeItems and CraftBlocks&lt;/strong&gt;
&lt;/h5&gt;

&lt;p&gt;Kennedy and Fisher have both been working on implementing into the core an item builder called "SupremeItem" for creating and managing custom items with specified tags, persistent data, and other cool features. The items currently implemented with this class can be accessed with the command "/ci"&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--gteriBsB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/gwu0r9xcix2v3gsnhqyq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gteriBsB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/gwu0r9xcix2v3gsnhqyq.png" alt="Custom Items Menu"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Each custom item is initialized and can be referenced as an enum, as seen here:&lt;br&gt;

  Custom Item Enum
  &lt;br&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;
&lt;span class="no"&gt;BLACKSMITH_BELLOW&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;                                                                      &lt;span class="c1"&gt;// CUSTOM ITEM ENUM IDENTIFIER&lt;/span&gt;
            &lt;span class="s"&gt;"Bellow"&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;                                                                   &lt;span class="c1"&gt;// CUSTOM ITEM NAME&lt;/span&gt;
            &lt;span class="nc"&gt;ItemStackBuilder&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;of&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;Material&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;IRON_AXE&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;                                      &lt;span class="c1"&gt;// CUSTOM ITEM MATERIAL&lt;/span&gt;
                    &lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Bellow"&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;                                                     &lt;span class="c1"&gt;// CUSTOM ITEM            &lt;/span&gt;
                    &lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;lore&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Left-Click on blast furnace to increase its heat."&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;          &lt;span class="c1"&gt;// CUSTOM ITEM LORE/DESCRIPTION&lt;/span&gt;
                    &lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;build&lt;/span&gt;&lt;span class="o"&gt;(),&lt;/span&gt;                                                           &lt;span class="c1"&gt;// RETURNS ITEMSTACK&lt;/span&gt;
            &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;HashMap&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;ItemFlags&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;Object&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;                                          
                &lt;span class="o"&gt;{&lt;/span&gt;
                &lt;span class="n"&gt;put&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;ItemFlags&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;CRAFTABLE_AT&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;ItemCraftLocations&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;BLACKSMITH&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;             &lt;span class="c1"&gt;// ITEM TAGS&lt;/span&gt;
                &lt;span class="o"&gt;}&lt;/span&gt;
            &lt;span class="o"&gt;},&lt;/span&gt;
            &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;HashMap&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;String&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;                                             &lt;span class="c1"&gt;// PERSISTENT DATA&lt;/span&gt;
                &lt;span class="o"&gt;{&lt;/span&gt;
                    &lt;span class="n"&gt;put&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"custom-item"&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"true"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;                                         
                    &lt;span class="n"&gt;put&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"custom-model"&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"4"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;                                           
                &lt;span class="o"&gt;}&lt;/span&gt;
            &lt;span class="o"&gt;}&lt;/span&gt;
    &lt;span class="o"&gt;)&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;




&lt;/p&gt;

&lt;p&gt;Kennedy also created an object class called CraftingBlock for creating and managing custom profession crafting blocks that can be associated with SupremeItems. Each CraftingBlock is similarly initialized and can be referenced as an enum as well, as seen here:&lt;/p&gt;

&lt;p&gt;
  CraftingBlock Enum
  &lt;br&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="no"&gt;BLACKSMITH_FURNACE&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;
            &lt;span class="s"&gt;"blacksmith-furnace"&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;                                                                       &lt;span class="c1"&gt;//NAME&lt;/span&gt;
            &lt;span class="nc"&gt;SupremeItem&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;BLACKSMITH_FURNACE&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;                                                             &lt;span class="c1"&gt;//ASSOCIATED SUPREMEITEM&lt;/span&gt;
            &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;HashMap&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;Object&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;                                                             &lt;span class="c1"&gt;// DATA STORED IN BLOCK&lt;/span&gt;
                &lt;span class="o"&gt;{&lt;/span&gt;
                    &lt;span class="n"&gt;put&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"blacksmith-furnace"&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"true"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
                    &lt;span class="n"&gt;put&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"block-durability"&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;SupremeItem&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;BLACKSMITH_FURNACE&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getBlockDurability&lt;/span&gt;&lt;span class="o"&gt;());&lt;/span&gt;
                &lt;span class="o"&gt;}&lt;/span&gt;
            &lt;span class="o"&gt;},&lt;/span&gt;
            &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;HashMap&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Integer&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;String&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;                                                            &lt;span class="c1"&gt;// TUTORIAL STAGES&lt;/span&gt;
                &lt;span class="o"&gt;{&lt;/span&gt;
                    &lt;span class="n"&gt;put&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"Blacksmith Furnace"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
                    &lt;span class="n"&gt;put&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"Right-click to smelt ores!"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
                &lt;span class="o"&gt;}&lt;/span&gt;
            &lt;span class="o"&gt;}&lt;/span&gt;
    &lt;span class="o"&gt;)&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;




&lt;/p&gt;

&lt;p&gt;Any type of Data can be stored in CraftingBlocks as armorstands. These are the methods that can be called from a CraftingBlock:&lt;/p&gt;

&lt;p&gt;CraftBlock Static Methods:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Method&lt;/th&gt;
&lt;th&gt;Use&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;getCraftingBlockFromSupremeItem(SupremeItem)&lt;/td&gt;
&lt;td&gt;Returns CraftingBlock from supremeitem associated&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;getCraftingBlockMaterials()&lt;/td&gt;
&lt;td&gt;Returns List of materials used by CraftingBlocks&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;isCraftingBlock(Block)&lt;/td&gt;
&lt;td&gt;Returns true if block is an instance of CraftingBlock&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;getCraftingBlock(Block)&lt;/td&gt;
&lt;td&gt;Returns CraftingBlock for block instance of CraftingBlock.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Inherited Methods:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Method&lt;/th&gt;
&lt;th&gt;Use&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;CraftingBlock.getItem()&lt;/td&gt;
&lt;td&gt;Returns itemstack from supremeitem for this CraftingBlock&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CraftingBlock.getSupremeItem()&lt;/td&gt;
&lt;td&gt;Returns raw supremeitem for this CraftingBlock&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CraftingBlock.getTutorialStages()&lt;/td&gt;
&lt;td&gt;Returns HashMap of tutorial stages for this CraftingBlock&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CraftingBlock.getTutorialStage(Stage)&lt;/td&gt;
&lt;td&gt;Returns String of tutorial stage for this CraftingBlock&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CraftingBlock.getBlockId()&lt;/td&gt;
&lt;td&gt;Returns specific CraftingBlock id for this CraftingBlock&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CraftingBlock.getMaterial()&lt;/td&gt;
&lt;td&gt;Returns material of SupremeItem associated with this CraftingBlock&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CraftingBlock.getStandKeys()&lt;/td&gt;
&lt;td&gt;Returns HashMap of data that this CraftingBlock should be storing in armorstands&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CraftingBlock.hasKey(ArmorStand, Key)&lt;/td&gt;
&lt;td&gt;Returns boolean if ArmorStand has Key&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h5&gt;
  
  
  &lt;strong&gt;Crafting Bossbar&lt;/strong&gt;
&lt;/h5&gt;

&lt;p&gt;The CraftingBossBar object allows for displaying progress during crafting tasks.  &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--VwN7tu3U--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/yo5n1nnjogs1v8c1798k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VwN7tu3U--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/yo5n1nnjogs1v8c1798k.png" alt="Bossbar"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There are a few methods that can be called to manage a CraftingBossBar:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Method&lt;/th&gt;
&lt;th&gt;Use&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Constructor: CraftingBossBar(EventName, Player, BarColor)&lt;/td&gt;
&lt;td&gt;Uses parameters to initialize bossbar. Does NOT display bar.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CraftingBossBar.displayBar(Player)&lt;/td&gt;
&lt;td&gt;Displays the bar for a specific player&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CraftingBossBar.displayBar()&lt;/td&gt;
&lt;td&gt;Displays the bar to initialized player&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CraftingBossBar.removeBar()&lt;/td&gt;
&lt;td&gt;Removes the bar&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CraftingBossBar.setProgress(Progress)&lt;/td&gt;
&lt;td&gt;Sets the bar's live progress out of 1.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CraftingBossBar.setTitle(Title)&lt;/td&gt;
&lt;td&gt;Sets the bar's title to format: (%title% + %progress% + "%")&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CraftingBossBar.isDisplayed()&lt;/td&gt;
&lt;td&gt;Returns true if bar is visible for player&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h5&gt;
  
  
  &lt;strong&gt;Also...&lt;/strong&gt;
&lt;/h5&gt;

&lt;p&gt;Some features that Kalinox doesn't get to know about yet.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight diff"&gt;&lt;code&gt;&lt;span class="gi"&gt;+ added different speeds of grindstone
+ added new grindstone handlers, blacksmith furnace handlers, cauldron animations, bellow animation.
+ new discord branch for bot rewrite.
+ fixed server listing on the discord (amount of players and if online)
+ new discord rank separators.
+ new biomes as well as new noise types, and edits to noise octaves.
+ new craftblock handlers for information on blocks and checking if a block is a certain type with armor stands and custom nbt
&lt;/span&gt;&lt;span class="gd"&gt;- removed the singular grindstone static in place for adding different speeds as well as static.
- removed herobrine
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
    </item>
    <item>
      <title>Devblog 2</title>
      <dc:creator>Fisher</dc:creator>
      <pubDate>Wed, 28 Oct 2020 16:21:32 +0000</pubDate>
      <link>https://dev.to/supreme/devblog-2-c5b</link>
      <guid>https://dev.to/supreme/devblog-2-c5b</guid>
      <description>&lt;h1&gt;
  
  
  What's new this week in SupremeObsidian.
&lt;/h1&gt;

&lt;p&gt;This week, we've made a lot of progress on World Generation, Spells, and new custom player inventories. We also started work on several professions, blacksmiths, etc.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fisher
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Spells
&lt;/h3&gt;

&lt;p&gt;This week I worked on spells a good bit. We now have flags for our spells so we can give spells instant cast for example. We can add more as we go if we need some other kind of spell flag.&lt;/p&gt;

&lt;p&gt;The Spells inventory does look rather nice now that we've gotten the new items being used along with the placeholder blank items in.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--EQatvpjV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/2p7gfdvhcmd2xwtrlfrl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--EQatvpjV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/2p7gfdvhcmd2xwtrlfrl.png" alt="spells menu work"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  New inventory system
&lt;/h3&gt;

&lt;p&gt;We also implemented a custom inventory system for different types of items that the player will be able to store in the inventory to change different attributes, such as their stats, their skill in certain professions, or even change certain combat mechanics or values in combat.&lt;/p&gt;

&lt;p&gt;It looks very nice with the slots showing what should go into those slots, and only accepting certain types of items into the slot.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hyRjrNR2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/laqo1zul5nk3x39b6xd6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hyRjrNR2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/laqo1zul5nk3x39b6xd6.png" alt="new inventory system"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Async
&lt;/h2&gt;

&lt;h3&gt;
  
  
  More biomes
&lt;/h3&gt;

&lt;p&gt;This week we've implemented new biomes into KUAI, and they are looking great. There are still some more schematics to implement for roads in forests, etc, but the ocean biomes are just looking &lt;strong&gt;chef's kiss&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--z6krfELC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/5zoz6ukxv4sp3dvhq2xp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--z6krfELC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/5zoz6ukxv4sp3dvhq2xp.png" alt="forest"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--uia0Atv---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/wii5se07kwse9904gcpc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--uia0Atv---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/wii5se07kwse9904gcpc.png" alt="ocean"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Kennedy
&lt;/h2&gt;

&lt;p&gt;I asked Kennedy to send me what he'd been working on this week, and I got&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--EP3ASGkZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/1cj49o1ba2kdszpmxhg5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--EP3ASGkZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/1cj49o1ba2kdszpmxhg5.png" alt="Headaches"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Closing
&lt;/h1&gt;

&lt;p&gt;Stay tuned for next week's progress on Quest, by SupremeObsidian.&lt;/p&gt;

</description>
      <category>supremeobsidian</category>
      <category>minecraft</category>
      <category>spigot</category>
      <category>java</category>
    </item>
    <item>
      <title>Devblog 1</title>
      <dc:creator>Fisher</dc:creator>
      <pubDate>Mon, 19 Oct 2020 13:23:14 +0000</pubDate>
      <link>https://dev.to/supreme/devblog-1-j5e</link>
      <guid>https://dev.to/supreme/devblog-1-j5e</guid>
      <description>&lt;h1&gt;
  
  
  What's new this week in SupremeObsidian.
&lt;/h1&gt;

&lt;p&gt;This past week we made a ton of progress in the way of team collaboration, amongst other things. We didn't push too much content &lt;em&gt;per se&lt;/em&gt;, but we did make developing new features very streamlined, as we've put all of our changes into a new Core plugin. This allows us to easily make changes to one plugin instead of asking others to make changes to their plugins.&lt;/p&gt;

&lt;p&gt;So far, we've got four of our plugins integrated and working with the core. Since we're updating the namespaces, and in some cases, class names, we've got to change other plugins so have the same namespaces and class names since we've updated them. Instead of changing them in standalone plugins, we've really been trying to implement everything into one plugin.&lt;/p&gt;

&lt;p&gt;Instead of having a class that extends &lt;strong&gt;JavaPlugin&lt;/strong&gt;, it will extend &lt;strong&gt;SubPlugin&lt;/strong&gt;, that still has &lt;strong&gt;onEnable&lt;/strong&gt; and &lt;strong&gt;onDisable&lt;/strong&gt; so that we can still treat them like plugins, and they will have all of their code in the correct places, but it will only register one plugin with the server, being SupremeCore.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;CoreManager&lt;/span&gt; &lt;span class="kd"&gt;extends&lt;/span&gt; &lt;span class="nc"&gt;SubPlugin&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="nd"&gt;@Override&lt;/span&gt;
    &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;onEnable&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;Plugin&lt;/span&gt; &lt;span class="n"&gt;plugin&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
        &lt;span class="c1"&gt;//Do subplugin start logic&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;

    &lt;span class="nd"&gt;@Override&lt;/span&gt;
    &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;onDisable&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;Plugin&lt;/span&gt; &lt;span class="n"&gt;plugin&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
        &lt;span class="c1"&gt;//Do subplugin stop logic&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Then in the main plugin code, make a reference to the class and do&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="n"&gt;coreManager&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;onEnable&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;to enable that subplugin.&lt;/p&gt;
&lt;h2&gt;
  
  
  Helper
&lt;/h2&gt;

&lt;p&gt;This week, I've added &lt;strong&gt;helper&lt;/strong&gt; to our project by &lt;strong&gt;Luck&lt;/strong&gt;, the same guy who made &lt;strong&gt;LuckPerms&lt;/strong&gt; among other things. His library allows us to rapidly prototype features, among other things, and really allows us to build things fast. The feature that I've most used this week from this project is the &lt;strong&gt;PaginatedGui&lt;/strong&gt; class and the &lt;strong&gt;Gui&lt;/strong&gt; class, to auto paginate things for the spells menu.&lt;/p&gt;

&lt;p&gt;See Here:&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vJ70wriM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://practicaldev-herokuapp-com.freetls.fastly.net/assets/github-logo-ba8488d21cd8ee1fee097b8410db9deaa41d0ca30b004c0c63de0a479114156f.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/lucko"&gt;
        lucko
      &lt;/a&gt; / &lt;a href="https://github.com/lucko/helper"&gt;
        helper
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      A collection of utilities and extended APIs to support the rapid and easy development of Bukkit plugins.
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;



&lt;h2&gt;
  
  
  Spells
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hha6l_Ib--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/8eb6doctxyrj85gunf6k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hha6l_Ib--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/8eb6doctxyrj85gunf6k.png" alt="The Spells Menu"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This week I've made some way in the Spells department, making an intuitive GUI to hold the spell items and a unique way to deploy them and get stats from them. Using &lt;strong&gt;PaginatedGui&lt;/strong&gt;s has made this process incredibly simple to both prototype, and see which features make the cut.&lt;/p&gt;

&lt;p&gt;How I plan for it to work is as so: A player will select the spell from the top four rows, and then use the bottom red rows (that imitate the user's hotbar to select which slot in their hotbar the spell should go. This should make the selection process very easy for the Action-based RPG style that we're going for along with the Quick Menu that I've implemented for this.&lt;/p&gt;

&lt;h2&gt;
  
  
  Quick Menu
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4obFek3H--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/fjhna583yaunpzrcq5p2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4obFek3H--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/fjhna583yaunpzrcq5p2.png" alt="The Quick Menu"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Quick Menu is another feature that I'm very fond of. To use the quick menu, you double tap your offhand swap key in quick succession, default "F", and it will bring up the Quick Menu, so that the player won't have to interact with chat or run commands.&lt;/p&gt;

&lt;p&gt;The goal is to have the players never interact with the chat other than typing messages. It should be straightforward to where the prompts don't get in the way, and they player can quickly do what they need to do without taking their hands off of their mouse.&lt;/p&gt;

&lt;h2&gt;
  
  
  Horses
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--IyH06Juf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/y0fkcwfwpsnm7fl2f28q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--IyH06Juf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/y0fkcwfwpsnm7fl2f28q.png" alt="A Horse example!"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For horses, we're trying to go with the concept of having your horse always available to you, with cooldowns. What this means is that, if you summon your horse, you'll have a cooldown before you can put it away again. Also, if you're attacked, there will be a damage cooldown, so that you can't put your horse away as soon as you're attacked to avoid your horse dying.&lt;/p&gt;

&lt;p&gt;There will be certain actions that will aid your horse and up its' stats, such as feeding it, brushing it, and even riding it. Every horse has a level (starting at 1), and to gain a new level, you use the horse or brush it, or feed it. Each level has a certain amount of points you need to get to level your horse up.&lt;/p&gt;

&lt;p&gt;For example, level one has 100 points to get to level two. Each action you do has a certain amount of points that your horse will get to level up. Also, each new level your horse gets, &lt;strong&gt;the faster it will be, the higher it will jump, and the more stamina it will have&lt;/strong&gt;!&lt;/p&gt;

&lt;h2&gt;
  
  
  Remarks
&lt;/h2&gt;

&lt;p&gt;I'm very proud of how the team has worked, myself, Async, Maxy, and kohlerpop1. Also, I'm very excited for the creative freedom that Kalinox has given me :)&lt;/p&gt;

&lt;p&gt;Tune in next week for an update on what's been going on!&lt;/p&gt;

</description>
      <category>devblog</category>
      <category>supremeobsidian</category>
      <category>quests</category>
    </item>
    <item>
      <title>SupremeObsidian Dev Blogs</title>
      <dc:creator>Fisher</dc:creator>
      <pubDate>Fri, 16 Oct 2020 15:09:29 +0000</pubDate>
      <link>https://dev.to/supreme/supremeobsidian-dev-blogs-2l4g</link>
      <guid>https://dev.to/supreme/supremeobsidian-dev-blogs-2l4g</guid>
      <description>&lt;h1&gt;
  
  
  New Dev Blog Platform!
&lt;/h1&gt;

&lt;p&gt;Welcome to the new home of SupremeObsidian’s gamemode, codenamed “Quest”.&lt;/p&gt;

&lt;p&gt;This will be updated every week with new changes to the gamemode. We hope you will tune in for them!&lt;/p&gt;

&lt;p&gt;Thanks, Fisher out.&lt;/p&gt;

</description>
      <category>supremeobsidian</category>
    </item>
  </channel>
</rss>
