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

Conversation

Dweblenod
Copy link
Member

Continuation of @KingBalDoro's PR of the same name #478.

Gives each registered item its own captchalogue code which can now be typed into a Punch Designix. Certain items cannot be read by default and require the assistance of the Intellibeam Laserstation to read. XP is expended to decode those captchas.

Captcha for a given item is essentially random but tied to seed, so two different worlds with the same seed will have the same captchas for the same items but two different worlds with different seeds will have different captchas for the same items.

Intellibeam model originally from blankMushroom, with remodels by Doro

KingBalDoro and others added 30 commits April 30, 2023 21:08
# Conflicts:
#	src/main/java/com/mraof/minestuck/blockentity/machine/PunchDesignixBlockEntity.java
new alchemy helper function
two new sounds
new item texture
registered sounds
fixed UV ala blankMushroom
added ticker
refactored some of the blockEntity class
changed chatFormatting style
changed punchdesignix to recognize if item has decoded tag
…ore features of the intellibeam laserstation, ran data, among other things

known issues - new intellibeam model isn't currently working
added actionbar displays for clarity
# Conflicts:
#	CHANGELOG.md
#	src/main/java/com/mraof/minestuck/data/MinestuckEnUsLanguageProvider.java
#	src/main/java/com/mraof/minestuck/util/MSSoundEvents.java
…of code to bring it more in line with existing code, cleaned up code logic, removed text bolding from action bar messages to improve readability, fixed experience subtitle, added new message when card has been decoded
…ed variable initialization positions/where code segments are done, renamed methods/variables, added javadoc to CardCaptchas, changed logic of isReadableCard(), added captcha to hovertext of applicable cards, removed changes to RightClickMessageItem
…(involving creating a Screen), added methods for getting item directly from captcha and visversa, fixed logic error with isReadableCard()
…atible with changes from intellibeam PR, made empty cards display perfectly generic item code and allow them to be accepted by machinery in more conditions, added captcha to ghost cards where appropriate
…wn decoding progress, added utility method to CardCaptchas, removed clientside checkfrom setCaptcha() in PunchDesignixBlockEntity
…S message is displayed and made it so creative mode players dont lose xp
…omSource for CardCaptchas, removed broken crouch mechanic in PunchDesignixBlockEntity
@@ -138,6 +138,7 @@ protected void addTags()
tag(BUGS).add(BUG_ON_A_STICK.get(), CHOCOLATE_BEETLE.get(), CONE_OF_FLIES.get(), GRASSHOPPER.get(), CICADA.get(), JAR_OF_BUGS.get());
tag(CONSORT_SNACKS).add(Items.COOKIE).addTag(BUGS);
tag(CREATIVE_SHOCK_RIGHT_CLICK_LIMIT).add(Items.CHORUS_FRUIT);
tag(UNREADABLE).add(CRUEL_FATE_CRUCIBLE.get(), ROYAL_DERINGER.get(), TRANSPORTALIZER.get(), TRANS_PORTALIZER.get(), FEAR_NO_ANVIL.get(), TYPHONIC_TRIVIALIZER.get(), QUILL_OF_ECHIDNA.get(), UMBRAL_INFILTRATOR.get(), FLUORITE_OCTET.get(), CLIENT_DISK.get(), SERVER_DISK.get(), GUTTER_THUMB_DRIVE.get(), GUTTER_BALL.get(), CAPTCHA_CARD.get(), CUEBALL.get(), BLACK_QUEENS_RING.get(), WHITE_QUEENS_RING.get(), BLACK_KINGS_SCEPTER.get(), WHITE_KINGS_SCEPTER.get()).add(Items.DRAGON_EGG).add(Items.DRAGON_HEAD).add(Items.DRAGON_BREATH).add(Items.NETHER_STAR).add(Items.COMMAND_BLOCK).add(Items.COMMAND_BLOCK_MINECART).add(Items.CHAIN_COMMAND_BLOCK).add(Items.REPEATING_COMMAND_BLOCK).add(Items.END_CRYSTAL).add(Items.EXPERIENCE_BOTTLE).add(Items.ELYTRA).add(Items.TOTEM_OF_UNDYING).add(Items.BEACON).add(Items.BEDROCK).add(Items.PUMPKIN);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I recall bringing up a conversation on whether captcha cards really should be in this tag (due to potentially getting in the way of early game alchemy), but I don't exactly recall where that conversation went. Mentioning it here more as a reminder to check it out.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I feel it helps extend the usefulness of raw cruxite. But I would be open to reverting it for the time being

…s, switch a return of null to instead throw an exception in getRegistryNameFromItem()
# Conflicts:
#	CHANGELOG.md
#	src/main/java/com/mraof/minestuck/blockentity/MSBlockEntityTypes.java
#	src/main/java/com/mraof/minestuck/data/MinestuckEnUsLanguageProvider.java
Copy link
Member

@kirderf1 kirderf1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's also serialization of item codes that would be good for added stability, as well as lazily computing codes.

…ng "captcha_code", changed/removed some comments, made it so that creative mode players dont need any starting XP to use the intellibeam
@Dweblenod Dweblenod merged commit 7214520 into lunar-sway:1.19 Jul 22, 2023
1 check passed
@Dweblenod Dweblenod deleted the intellibeam branch October 29, 2023 22:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants