Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Intellibeam Laserstation and captcha codes #489

Merged
merged 61 commits into from
Jul 22, 2023
Merged
Show file tree
Hide file tree
Changes from 42 commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
cd6207d
added intellibeam block, added unreadable tag
KingBalDoro May 1, 2023
74a9532
Merge branch '1.19' into intellibeam-lazerstation
KingBalDoro May 1, 2023
e8aab85
Update PunchDesignixBlockEntity.java
KingBalDoro May 1, 2023
225e7d1
updated changelog
KingBalDoro May 1, 2023
2c3ad3e
ran data, fixed changelog, put entry in msitems and gave it a name in…
KingBalDoro May 2, 2023
b96e3f3
made block render in game, as well as fixed some smaller problems
KingBalDoro May 3, 2023
47aa8b7
randata
KingBalDoro May 3, 2023
cda86e7
Made Significant progress
KingBalDoro May 4, 2023
a8df5be
changed the way the wait timer works and added a check for decoded items
KingBalDoro May 4, 2023
713b96d
Update src/main/java/com/mraof/minestuck/alchemy/AlchemyHelper.java
KingBalDoro May 6, 2023
e845539
Update src/main/java/com/mraof/minestuck/block/machine/IntellibeamLas…
KingBalDoro May 6, 2023
639f453
Update src/main/java/com/mraof/minestuck/blockentity/IntellibeamLaser…
KingBalDoro May 7, 2023
ce9661a
redesigned the intellibeam, added intellibeam block shape, finished …
KingBalDoro May 11, 2023
5ab6ea8
fixed model issues, fixed wait timer inconsistencies
KingBalDoro May 11, 2023
4a7854b
set wait timer check to <= 1 and removed it from every other check in…
KingBalDoro May 11, 2023
2d94857
ran data, fixed issue with not being able to put card in block
KingBalDoro May 13, 2023
1d53d78
added to deploy list, fixed model error
KingBalDoro May 14, 2023
312d931
added transportalizers and bedrock to unreadable list, and ranData
KingBalDoro May 15, 2023
e0fba28
github review
KingBalDoro May 17, 2023
aa2782e
Merge branch '1.19' into intellibeam-lazerstation
KingBalDoro May 18, 2023
f3c6f1b
modified changelog
KingBalDoro May 18, 2023
f8f4d02
Made reorganizations to variable names and types as well as location …
Dweblenod May 27, 2023
a4a15ab
Created a method of making semi-random captchas for cards by hashing …
Dweblenod Jun 1, 2023
3b9a1f0
Added world seed randomization of hash string, reorganized code, extr…
Dweblenod Jun 1, 2023
02c13a8
Fully populated the captcha Map when the world first loads, reorganiz…
Dweblenod Jun 2, 2023
0b711a6
Added method of setting and storing a captcha with the punch designix…
Dweblenod Jun 3, 2023
ef51d16
Added predetermined captcha codes, made mini punch designix more comp…
Dweblenod Jun 3, 2023
30ae4e2
Added Map to intellibeam to allow for each scanned item to have its o…
Dweblenod Jun 4, 2023
29c4bb7
Added to/reworded Changelog entries, changed wording for IntellibeamL…
Dweblenod Jun 4, 2023
0e553ef
Moved serverStarted() into CardCaptchas,changed when DECODING_PROGRES…
Dweblenod Jun 8, 2023
72cdc68
Added packet to fix sidedness issues with accessing captcha codes
Dweblenod Jun 17, 2023
6571231
Working on fix for sided issues with saving captcha value in PunchDes…
Dweblenod Jun 19, 2023
1c4e241
Fixed sidedness issue (not load from disk issue)
Dweblenod Jun 25, 2023
01294e4
Fixed inability to load from disk
Dweblenod Jun 25, 2023
d3349c9
Merge remote-tracking branch 'mraof/1.19' into intellibeam
Dweblenod Jun 25, 2023
bdeae94
Merge remote-tracking branch 'mraof/1.19' into intellibeam
Dweblenod Jul 3, 2023
8443650
Added javadoc comments to the top of core alchemy machines and intell…
Dweblenod Jul 3, 2023
026831b
Merge remote-tracking branch 'mraof/1.19' into intellibeam
Dweblenod Jul 6, 2023
7f940d9
Reorganized isReadableCard() in AlchemyHelper, switched to using Rand…
Dweblenod Jul 7, 2023
8d48398
Experimenting with creation of class dedicated to client side captcha…
Dweblenod Jul 13, 2023
86b40f3
Merge remote-tracking branch 'mraof/1.19' into intellibeam
Dweblenod Jul 13, 2023
843f1ba
Fixed client side issues related to introduction of ClientCardCaptchas
Dweblenod Jul 13, 2023
7e055c4
Make CardCaptchas.iterateThroughRegistry() static
kirderf1 Jul 19, 2023
25659df
Use items in captcha code maps, more private functions, replace for-l…
kirderf1 Jul 19, 2023
a03d962
Nullability annotation on getItemFromCaptcha()
kirderf1 Jul 20, 2023
875b63f
Sync codes with shared tag on card stack and stop syncing the entire …
kirderf1 Jul 20, 2023
e084900
Rename and rework storedDecodings to use an item instead of a registr…
kirderf1 Jul 20, 2023
fd0762b
Handle random in a more robust way when generating captchas
kirderf1 Jul 20, 2023
2c43386
Reorganize CardCaptchas, isolating the functions used to generate cap…
kirderf1 Jul 20, 2023
85bd4bb
Merge remote-tracking branch 'mraof/1.19' into intellibeam
Dweblenod Jul 22, 2023
6baa0c4
Changed variable names in IntellibeamLaserstationBlockEntity and chan…
Dweblenod Jul 22, 2023
adae5b2
Added captcha code to nbt of cards upon their creation or upon decodi…
Dweblenod Jul 22, 2023
b27b65b
Update src/main/java/com/mraof/minestuck/blockentity/machine/PunchDes…
Dweblenod Jul 22, 2023
c2b689d
Removed "decoded" nbt from captcha cards by just using already existi…
Dweblenod Jul 22, 2023
315cf0a
Update src/main/java/com/mraof/minestuck/alchemy/AlchemyHelper.java
Dweblenod Jul 22, 2023
bc8f0fc
Serialize card captchas within extra data
kirderf1 Jul 22, 2023
bc74d9c
Simplify handling of backup captchas
kirderf1 Jul 22, 2023
2618e45
Lazily generate captcha codes
kirderf1 Jul 22, 2023
4a0bc52
Fix serialization of captchas
kirderf1 Jul 22, 2023
ffff661
Added captcha cards to medium basic loot table for all lands
Dweblenod Jul 22, 2023
557e5b2
Grammar fix and readded space
Dweblenod Jul 22, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
- Expanded number of Minecraft/Forge item/block tags that Minestuck items/blocks are in
- Anthvil block
- Power hub block
- Captcha codes for all registered items (put in tooltip if it is legible)
- Intellibeam Laserstation and accompanying UNREADABLE Item Tag for gating certain item captcha codes via "legibility"
- GUI for Punch Designix for manually inputting and punching captcha codes

### Changed

Expand All @@ -25,6 +28,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
- Tree features for our saplings are now replacable by datapacks
- Uncarved Wood Texture
- Hubtop combination recipe now uses power hub
- Right-clicking a Punch Designix with a captchalogue card now sets the Designix's stored captcha code if the captcha code is, or has been made, legible
- Mini Punch Designix now requires captcha cards whose codes are, or have been made, legible

### Removed

Expand All @@ -38,7 +43,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).

### Contributors for this release

- kirderf1, hadean, Estellairon, Riotmode, Carnie, Akisephila, Zepsun, Vinnelli, Vivian Zane, Dweblenod, rose_bushes_
- kirderf1, hadean, Estellairon, Riotmode, Carnie, Akisephila, Zepsun, Vinnelli, Vivian Zane, Dweblenod, rose_bushes_, DORO, blankMushroom

## [1.19.2-1.10.3.1] - 2023-06-19

Expand Down
8 changes: 8 additions & 0 deletions src/main/generated/resources/assets/minestuck/lang/en_us.json
Original file line number Diff line number Diff line change
Expand Up @@ -295,6 +295,9 @@
"block.minestuck.hot_cake": "Really Hot Cake",
"block.minestuck.hubtop": "Hubtop",
"block.minestuck.instant_tnt": "Instant TNT",
"block.minestuck.intellibeam_laserstation": "Intellibeam Laserstation",
"block.minestuck.intellibeam_laserstation.captcha_decoded": "It seems like the card is readable now",
"block.minestuck.intellibeam_laserstation.decoding_progress": "Decoding Progress: %s",
"block.minestuck.item_magnet": "Item Magnet",
"block.minestuck.item_magnet.additional_info": "- Length of area impacted by magnetism is proportional to power\n- Can be toggled to alternate pushing and pulling\n- Moves items/xp/grist entities by default\n- Can also lift and then move pushable blocks",
"block.minestuck.item_magnet.tooltip": "Moves entities when powered.",
Expand Down Expand Up @@ -406,6 +409,7 @@
"block.minestuck.power_hub.power_prompt": "%s fuel stored",
"block.minestuck.power_hub.tooltip": "Slowly generates powers. Will transfer power to a uranium fueled device that is directly above it.",
"block.minestuck.primed_tnt": "Primed TNT",
"block.minestuck.punch_designix.code_rejected": "On closer inspection, the code on the back seems to be almost unreadable",
"block.minestuck.punch_designix_keyboard": "Punch Designix",
"block.minestuck.punch_designix_left_leg": "Punch Designix",
"block.minestuck.punch_designix_right_leg": "Punch Designix",
Expand Down Expand Up @@ -2096,6 +2100,8 @@
"minestuck.program.server.server_active_message": "Server with your name exists",
"minestuck.program.settings.theme": "Theme: %s",
"minestuck.program.settings.title": "Sburb Settings",
"minestuck.punch_designix.enter_captcha": "Enter captcha",
"minestuck.punch_designix.punch": "PUNCH",
"minestuck.receiver_now_auto_reset": "Receiver will now unpower itself automatically.",
"minestuck.receiver_now_not_auto_reset": "Receiver will now store the highest input power indefinitely.",
"minestuck.remote_observer": "Remote Observer",
Expand Down Expand Up @@ -2282,6 +2288,8 @@
"subtitles.minestuck.electric_shock": "Electric Shock",
"subtitles.minestuck.horn": "Horn honks",
"subtitles.minestuck.horse_clock_chime": "Clock chimes... and whinnies",
"subtitles.minestuck.intellibeam_laserstation_exp_gather": "Intellibeam absorbs experience",
"subtitles.minestuck.intellibeam_laserstation_remove_card": "Intellibeam ejects card",
"subtitles.minestuck.lotus_flower_loot_spawn": "Items pop into existence",
"subtitles.minestuck.lotus_flower_open": "Flower unfurls",
"subtitles.minestuck.lotus_flower_restore": "Flower regrows",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
],
"entries": [
{
"type": "minecraft:item",
"name": "minestuck:intellibeam_laserstation"
}
],
"rolls": 1.0
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
"values": [
"minestuck:cruel_fate_crucible",
"minestuck:royal_deringer",
"minestuck:transportalizer",
"minestuck:trans_portalizer",
"minestuck:fear_no_anvil",
"minestuck:typhonic_trivializer",
"minestuck:quill_of_echidna",
"minestuck:umbral_infiltrator",
"minestuck:fluorite_octet",
"minestuck:client_disk",
"minestuck:server_disk",
"minestuck:gutter_thumb_drive",
"minestuck:gutter_ball",
"minestuck:captcha_card",
"minestuck:cueball",
"minestuck:black_queens_ring",
"minestuck:white_queens_ring",
"minestuck:black_kings_scepter",
"minestuck:white_kings_scepter",
"minecraft:dragon_egg",
"minecraft:dragon_head",
"minecraft:dragon_breath",
"minecraft:nether_star",
"minecraft:command_block",
"minecraft:command_block_minecart",
"minecraft:chain_command_block",
"minecraft:repeating_command_block",
"minecraft:end_crystal",
"minecraft:experience_bottle",
"minecraft:elytra",
"minecraft:totem_of_undying",
"minecraft:beacon",
"minecraft:bedrock",
"minecraft:pumpkin"
]
}
10 changes: 10 additions & 0 deletions src/main/java/com/mraof/minestuck/alchemy/AlchemyHelper.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import com.mraof.minestuck.player.Echeladder;
import com.mraof.minestuck.player.EcheladderBonusType;
import com.mraof.minestuck.player.PlayerSavedData;
import com.mraof.minestuck.util.MSTags;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.nbt.Tag;
import net.minecraft.resources.ResourceLocation;
Expand Down Expand Up @@ -85,6 +86,15 @@ else if(tag.contains("contentSize") && tag.getInt("contentSize") >= 1)

}

public static boolean isReadableCard(ItemStack card)
{
if(!card.is(MSItems.CAPTCHA_CARD.get()) || !hasDecodedItem(card))
return false;

//either has decoded nbt or isnt in UNREADABLE item tag to begin with
return (card.hasTag() && card.getTag().getBoolean("decoded")) || !getDecodedItem(card).is(MSTags.Items.UNREADABLE);
}

public static boolean isPunchedCard(ItemStack item)
{
return item.getItem() == MSItems.CAPTCHA_CARD.get() && item.hasTag() && item.getTag().getBoolean("punched");
Expand Down
Loading
Loading