Lythom / capsule

A minecraft mod : Bring your base! Capsules can capture a region containing any blocks or machines, then deploy and undeploy at will. Inspired by Dragon Ball capsules.
MIT License
16 stars 13 forks source link

Test campaign for 1.15.2 #33

Closed Lythom closed 3 years ago

Lythom commented 3 years ago

Qualify the 1.15.2 build of capsule

This test campains describe what should be tested in the capsule mod to ensure all the features are working as expected.

It can sometime use internal or technical naming of capsules, to understand the general vocabulary, please check the first paragraphs of https://github.com/Lythom/capsule/wiki/Modpack-making Also use this modpack-making wiki page to get information on how to create things not mentionned at https://github.com/Lythom/capsule/wiki. It is not updated for everything 1.15 but should help.

Some additional information:

Some tests requires JEI, you can include in version 6.0.3.15 in your mods folder: https://www.curseforge.com/minecraft/mc-mods/jei/files/3039710.

Items

Empty capsule

Linked capsule

Linked capsules are capsule that have content but that are undeployed: their content is inside.

Deployed capsule

Deployed capsules are capsule that have a linked content but that content is deployed in the world.

  1. Create a linked capsule with a few blocks and deploy it.
    • [x] Deployed Capsules have an information tab in JEI explaining how they work
    • [x] Deployed Capsules have informations in the item description (mouse hover in inventory) explaining how they work
    • [x] Deployed Capsules can be died by crafting it with one or severals dyies
    • [x] Deployed Capsules can be cleared by crafting it alone in the inventory crafting grid, only the empty capsule crafted
    • [x] Deployed Capsules cannot be upgraded (https://github.com/Lythom/capsule/wiki#upgrading)
    • [x] Deployed Capsules can be enchanted with "Recall" enchant (https://github.com/Lythom/capsule/wiki#recall)
    • [x] Deployed Capsules can be re-labelled using shift+right click
    • [x] Right click → The content is put back in the capsule and removed from the world.

Recovery capsule

Blueprint capsule

blueprint world recharge

  1. create and deploy a blueprint that contains a dispenser and a few blocks
  2. remove a block from deployed content
  3. right click in air to try to undeploy and recharge from world blocks
    • [x] The content is not captured back
    • [x] A chat message tell the player that the structure don't match the blueprint
  4. Place back the block anywhere in the blueprint area but not at it's original location 4b. right click in air to try to undeploy and recharge from world blocks
    • [x] The content is undeployed and the capsule is recharged
  5. deploy the structure again
  6. add any item in the dispenser
  7. right click in air to try to undeploy and recharge from world blocks
    • [x] The content is not captured back
    • [x] A chat message tell the player that the structure don't match the blueprint
  8. remove the item from dispenser
  9. right click in air to try to undeploy and recharge from world blocks
    • [x] The content is undeployed and the capsule is recharged

Whitelist

  1. Remove the "minecraft:chest" line from config/capsule/blueprint_whitelist.json
  2. Place a chest + dirt block + note block and change the tune of the note block
  3. Capture using a standard capsule
  4. Craft a blueprint from that standard capsule
    • [x] A message in chat appears and tell the player the chest block couln't not be included
  5. in survival mode, Recharge the blueprint by having a dirt block and a note block in player inventory
  6. deploy
    • [x] The deployed note block have the same pitch as the captured one

Prefabs

Create a reward: https://github.com/Lythom/capsule/wiki/Modpack-making#create-a-reward-capsule

  1. Create a reward with one iron block, name it "iron"
  2. Create a reward with 2 iron blocks and 2 gold blocks, name it "iron_gold"
  3. Create a reward with 2 iron blocks, 2 gold blocks and 2 diamond blocks, name it "iron_gold_diamond"
  4. Create a reward with 2 iron blocks, 2 gold blocks, 2 diamond blocks and 2 lapis blocks, name it "iron_gold_diamond_lapis"
  5. Add all the template created from config/capsule/rewards/<structure_name>.nbt into config/capsule/prefabs/
  6. Restart minecraft, start a game, look in JEI
    • [x] There is a blueprint capsule recipe "Iron" that takes an iron block to craft
    • [x] When crafted, iron block used in the recipe is given back
    • [x] There is a blueprint capsule recipe "Iron Gold" that takes an iron block and/or a gold block to craft
    • [x] There is a blueprint capsule recipe "Iron Gold Diamond" that takes an iron block, a gold block and/or a diamond to craft
    • [x] There is a blueprint capsule recipe "Iron Gold Diamond Lapis" that takes 1 to 3 ingredients out of the four blocks, among an iron block, a gold block, a diamond to craft and a lapis block

Blocks

Capture Base

Preview

  1. create a structure with a line of dirt and a column of stone in a standard capsule
  2. capture the structure
  3. right click once and point at the ground
    • [x] A wireframe preview of the structure appears, the line is displayed as one long box and the column is display as one other long box

Translations

Commands

giveEmpty

https://github.com/Lythom/capsule/wiki/Commands#giveEmpty

giveLinked

giveBlueprint

exportHeldItem

exportSeenBlock

fromHeldCapsule

fromStructure

fromExistingReward

giveRandomLoot

reloadLootList

setBaseColor

setMaterialColor

setAuthor

Features

Create a reward: https://github.com/Lythom/capsule/wiki/Modpack-making#create-a-reward-capsule

  1. Create a reward with one iron block, name it "iron"
  2. Create a reward with 2 iron blocks and 2 gold blocks, name it "iron_gold"
  3. Remove all files from config/capsule/starters/
  4. Add the template created from config/capsule/rewards/<structure_name>.nbt into config/capsule/starters/
  5. in config/capsule-common.toml, configure starterMode = "all"
  6. Start a new game (no restart required, config should auto reload starters when changed)
    • [x] The player is given a "Iron" and a "Iron Gold" capsules that match the created rewards.
  7. Leave to main menu and re-enter the same game, no new starters are given and previously given starters are still there
  8. Leave to main menu, in config/capsule-common.toml, configure starterMode = "random"
  9. Start a new game
    • [ ] The player is given either the "Iron" or the "Iron Gold" capsule.
  10. Leave to main menu, in config/capsule-common.toml, configure starterMode = "none"
  11. Start a new game
    • [ ] The player is given no capsules at all.

deploy

instant

  1. Craft an empty wooden capsule of size 1
    • [ ] The description should mention the instantaneous mode
    • [ ] Any block can be captured without capture base
    • [ ] The block captured can be deployed instantly without throwing the capsule

overridableBlocks

  1. Check in config/capsule-common.toml that overridabledBlock contains an entry for "minecraft:grass"
  2. Start a new game, deploy the capsule in a grass field
    • [ ] The grass is removed and replaced by the blocks of the starter
  3. use bonemeal to grow some grass in the starter area
  4. undeploy
    • [ ] The grown grass is undeployed within the capsule
  5. deploy in a clear area
    • [ ] The grown grass is deployed
  6. note the exacted deployed location, undeploy the capsule
  7. put a stone block where the grown grass is supposed to be deployed
  8. deploy the capsule at the exact previous location
    • [ ] The deploy works and grown grass that were inside the capsule is not deployed (removed)

transdimentional

View test tasks - [x] ← Check when this section is tested 1. Deploy a starter in the overworld 2. move to nether using a nether portal 3. undeploy the starer (located in overworld) and deploy it in the nether - [x] The starter is entierly present in the nether deployment

transdimentional 2

  1. Create a capsule of size 3 (iron capsule) and capture one gold block inside

  2. Activate the linked capsule and throw it throw a nether portal

  3. enter the portal

    • [ ] The gold block is deployed and the capsule is on the ground
  4. Redo the exact same scenario but enchant the capsule with recall

    • [if the nether is chunkloaded] - [ ] The gold block is deployed in nether just after the throw and the caspule get back in thrower hand
    • [if the nether is not chunkloaded] - [ ] The gold block is deployed in nether when entering the portal and the caspule get back in thrower hand

underwater

  1. Move underwater in a sea and deploy a starter there

    • [ ] The capsule is deployed on the sea ground
  2. Unploy then get out of water a throw the capule on top of water

    • [ ] The capsule is deployed over the sea level

automated

  1. Setup a dispenser to point vertically, put a button on it
  2. Do quickly: activate a starter capsule, put the capsule inside the dispenser, click the button to trigger the dispenser
    • [ ] The capsule is thrown and deployed on top of the dispenser

initial capture

  1. place a capture block
  2. craft an empty iron capsule
    • [ ] While the empty capsule is in hand, a white wireframe appear on top of the capture block
  3. place an iron block and a gold block in the capture area
  4. activate (r-click) and throw (r-click again) the capsule near the capture base
    • [ ] The content disappear and a linked capsule is drop on the floor

excludedBlocks

  1. in creative, put end portal frame block and a bedrock on top of a capture base
  2. try to capture it with an empty iron capsule
    • [ ] The end portal frame block stays in place
    • [ ] The bedrock block stays in place
    • [ ] the linked capsule contains nothing
  3. try to capture it with an op capsule
    • [ ] The end portal frame block disappear
    • [ ] The bedrock block stays in place
    • [ ] the linked op capsule contains the end portal frame block

Relabeling

Dynamic prefabs recipes

  1. Add nbt files in "config/capsule/prefabs"
    • [ ] Recipes should be automatically generated to craft this prefab

Loot

  1. In config, cange lootTablesList to only ["minecraft:chests/desert_pyramid"] and loot.lootTemplatesPaths to have only
    [[loot.lootTemplatesPaths]]
    path = "config/capsule/loot/rare"
    weight = 2
    • [ ] Find a desert pyramid in creative on a standard world and check the chest contains a rare loot.
    • [ ] Find an underground dungeon in spectator mode, switch back to creative and look in the chest, there should be no capsule.
  2. remove your capsule-common.toml file in config folder to reset the config to default for other tests.

Data packs

Lythom commented 3 years ago

Not everything was tested but most of it was and works fine now, ready for the 1.15 release.