ax-vasquez / enchantments-seer

A Minecraft mod to improve the enchanting experience
GNU General Public License v3.0
1 stars 0 forks source link

Implement Seer's Enchantment Table #6

Open ax-vasquez opened 3 years ago

ax-vasquez commented 3 years ago

Description

This is the "core" block for the enchantments-seer mod. It serves as an alternative method of enchanting items, and leaves the vanilla process intact.

In fact, players will have a far better experience if the vanilla enchanting process is intact. Players can enchant books with low-level enchantments, then deconstruct the book to enchanted pages to make the Seer's Manuscript.

Features

  1. Similar functionality to existing enchanting table
  2. Enables recharging enchantments
  3. Enables selecting ONE to apply to an item (per Seer's Manuscript)
  4. Enables fully-recharging an enchanted item with a Seer's Stone

To do

  1. [x] Implement Block and supporting classes
    1. [x] Implement Tile Entity class
    2. [x] Implement Tile Entity Renderer
    3. [x] Implement GUI screen
  2. [ ] Create model and texture
    • [ ] Use the Enchanting Table model as the base
    • [ ] With no reagent (OR a Seer's Stone) - should look like the Enchanting Table without the book on top
      • We can improve this later - just don't want a minor graphical thing to hold off release
    • [ ] With a Seer's Manuscript - should look like the Enchanting Table with a re-skinned book on top (instead of the default book)
    • [ ] With an arbitrary Enchanted Book - the only state in which the Seer's Enchanting table looks very similar to the Enchanting Table (because both use a "vanilla" book texture)
  3. [x] Register the Seer's Enchanting Table
    1. [x] Register the Tile entity type
    2. [x] Register the screen
    3. [x] Register the tile entity renderer

Further tasks

  1. [ ] Implement a recipe
    1. [ ] Determine what the recipe should be
    2. [ ] Add a recipe JSON file
  2. [ ] Customize the default GUI
    1. [ ] Replace Lapis Lazuli logic so that it only accepts:
      1. [ ] Seer's Manuscript
      2. [ ] Arbitrary enchanted book
      3. [ ] Seer's Stone
    2. [ ] Show all enchants with a Seer's Stone
    3. [ ] Show only the corresponding enchant(s) for arbitrary enchanted books
    4. [ ] Show no enchants for Seer's Stone (this is just for recharging enchanted items)
      1. [ ] Add indicator to show Seer's Stone cost to fully recharge (optional - we could just have the user use the stone and figure it out from there)
  3. [ ] Actual enchantment logic
    1. [ ] Remove all XP costs (since the cost has been shifted to the Seer's Stone)
    2. [ ] Remove all non-seer's stone related costs
    3. [ ] Only one enchantment per book (Seer's Manuscript or Enchanted Book)
    4. [ ] Executing the enchantment
ax-vasquez commented 3 years ago

The base work for this was completed in #10

We still have more to do, however - I've added the items to the case description.