Code Monkey home page Code Monkey logo

moreiotas's Introduction

MoreIotas

A minecraft mod which is an addon for Hex Casting, adding new types of iotas such as Strings. Intended to be approximately a library mod for other addons to use.

moreiotas's People

Contributors

talia-12 avatar chuijkyahus avatar object-object avatar

Stargazers

 avatar

Watchers

 avatar

moreiotas's Issues

Multiplicative Distillation: Matrix can cause crashes on servers

Steps to reproduce:

  1. Get a matrix obtained by converted a list of offset vectors to make a 3x3 plane facing the x axis
  2. Vector Reflection +Y
  3. Arc's Reflection
  4. Numerical Reflection: 2
  5. Division Distillation
  6. Rotation Distillation
  7. Jester's Gambit
  8. Multiplicative Distillation: Matrix

Does not seem to have any issue with rotating a matrix formed from only one vector.
Crash report: https://mclo.gs/FWxEYNp

[Suggestion] Hoarder's and Collector's Distillation for Entities (For 1.20)

Cross post from hexbound since I've been told moreiotas is taking these patterns in 1.20. As I said there, it would be if there were extensions or equivalent patterns for hoarder's and collector's distillations that work on entities such as the chest minecart and boat. It would be nice if this was done based on if a hopper can interact with it, but a whitelist would be fine otherwise (if you don't want it interacting with villagers, players, etc.).

Winnowing Distillation's argument validation seems to be broken

Description:

Attempting to use "winnowing distillation" as described in the book (where, by the way, it is still called this. It looks like you are making it an overload of Selection Exaltation, now, so that ought to be updated) does not work, nor does there seem to be any other way to order the arguments in a way it will accept.

Expected behavior

if you give it String, num, num, as depicted on the hexbook page, where the numbers are inbounds for the string and represent a substring... give me the substring?

Actual behavior

[12:11:35] [Render thread/INFO]: [CHAT] Selection Exaltation: expected hexcasting.mishap.invalid_value.string at index 2 of the stack, but got 18.00 and it trashes index 2, the string it was looking for… Whoops?

steps to reproduce

  1. get a string from chat with Whisper's. For example the string "0123456789"
  2. numerical reflection: 3
  3. numerical reflection: 7
  4. Winnowing Purification, as described here

Additional information

We (Between me, shizurei, and ANN0RAK) also tried rearranging the arguments in reverse, but that just led to the OTHER arg-validation-related bug I reported recently.

Screenshots

image
Before:
2024-04-13_12 50 47
After:
2024-04-13_12 51 09

Whisper's Reflection does not seem to like long strings or something?

Whisper machine broke
image

Expected behavior

the chat parser should:

  1. take my message
  2. strip the first occurrence of my Sifter's prefix
  3. and make a string Iota with it

Actual behavior

With long strings (or some other trigger, not sure yet), it seemingly duplicates + concatenates the result of step 1.

Reproduction steps

I'm not sure what the MINIMUM reproduction steps are, but so far this has been consistent:

  1. Set a sifter's prefix to ">>>"
  2. send ">>>Room 0x7203cea5 Twisted_Codes would-be quencher" in chat. Maybe play around with it's length or something
  3. Draw "whisper's reflection"
  4. bug occurs.

Additional information

of note, when I tested my reproduction steps, I noticed that it seems to add "#" before "Twisted_Codes", even though, for testing purposes, my string no longer has a "#". "Reveal" posted the following messages to chat (note that I also tried removing my nickname on the server since the nickname display begins with a hash mark)

[09:37:39] [Render thread/INFO]: [CHAT] "Room 0x7203cea5 Twisted_Codes would-be quencher>>>Room 0x7203cea5 #Twisted_Codes would-be quencher"
[09:38:11] [Render thread/INFO]: [CHAT] Your nickname has been removed!
[09:38:21] [Render thread/INFO]: [CHAT] "Room 0x7203cea5 Twisted_Codes would-be quencher>>>Room 0x7203cea5 #Twisted_Codes would-be quencher"

speaking of which, here's the full log file. I'm sure you'll find it forgive the Hex Casting pun enlightening:

latest.log

Please update release

Commit 1c73b75 allows More Iotas to work with Hex Casting 0.10.1, but the only release is from before that, so it's kind of hard to install.

[Suggestion] Escape Characters in String Iota NBT Representation

Line breaks are represented as a literal newline character in NBT, making it impossible to represent strings containing line breaks in commands since SNBT doesn't support \n.

It would make much more sense to represent strings in the same way as other text-containing items like written books, which escape characters like newlines and \ in their nbt.

how string iotas represent a string containing a line break:

{"hexcasting:type": "moreiotas:string", "hexcasting:data": "
"}

how written books represent a string containing a line break:

'{"text":"\\n"}'

Sifter's Gambit does not play nice in Multiplayer servers

Weird things happen after relogging when using sifter's gambit to listen for strings.
Expected behavior (Which was encountered in singleplayer):

  • Sifter's Gambit, when passed a string, returns everything but that string when the caster types in chat.
  • Passing null permanently stops Sifter's gambit from listening and Listener's Reflection functions as normal.

Encountered behavior in multiplayer:

  • Sifter's gambit functions properly until you relog.
  • First set of relogging caused Sifter's Gambit, which was passed null recently, to re-listen for the string "0 10 0". It stopped when passed null, but kept listening again after another relog.
  • Passing a new String to Sifter's Gambit and then null, then relogging, caused Sifter's Gambit to not listen for that string as expected. However, it no longer listens for any string, and Listener's Reflection returns the last message it seems to "remember" the caster saying until you pass null into Sifter's Gambit again, in which functionality resumes.

Modlist
My only suspicions is that a chat mod like No Chat Reports messes with Sifter's Gambit somehow, but I'm not quite sure.

javaw_c7c2dkjNqm
Shown above is casting Sifter's Reflection before and after relogging. Note I had passed the string "goto " most recently to sifter's gambit, making this Extra Spicy Weird.

Tried my best to give as much information as humanly possible, but let me know if more is needed or if I'm goofing somehow, but I have also done my best to understand the spell and that this does indeed seem to be unintended behavior.

[1.20.1] - Crash with Additive Distillation

Hello,

I found a bug with More Iotas 1.20.1, when drawing Additive Distillation.
It causes an error in server tick loop, crashing the instance.

I tried making a place light spell and when adding the two raycast mantras together, I received a crash.
The same happened when using Vector Exaltation +Y and adding it with my eye position.

Here is the crash log and latest log.
latest.log
crash-2024-06-27_14.42.42-server.txt

Matrix size documentation is inconsistent and confusing

Preface: The width of a matrix is the number of columns. The height of a matrix is the number of rows. Generally, this is denoted m × n, where m is the height (rows) and n is the width (columns). The iota string representation uses this order.

out.append(String.format("(%d, %d)", mat.rows, mat.columns));

This is not explicitly stated anywhere in the book (unless I missed it), and some of the pattern docs don't follow this convention. For example, it's reversed in the descriptions of Tower and Sprawling:
image
As an aside, the fact that m and n are swapped here is also very confusing.

Meanwhile, Transformation uses the correct order:
image

Listener's reflection keeps returning the same message even after other qualifying messages have been sent.

Description

On Walksanator's test pack, or more specifically the multiplayer server Chloe set up, we noticed some issues with Listener's Reflection where it keeps returning "$HI" even when there have been several other messages since then. For instance, you can see in this screenshot that I've gotten it several times and one of the messages that should've replaced it is even still visible on screen.
2024-06-07_16 17 41

Expected behavior

any message from any player should replace the previous messages as "most recent" message. Listener's should always pick the last player-sent message

actual behavior

It gets hung up on a specific message. I'm wondering if it stopped listening for chat packets completely or what, but it's not working!

Repro steps

no ducking clue, as far as I know there's nothing anyone did "weird" that should've broken it. The only thing I can think of is maybe when I got disconnected from the server because my connection has been unstable today, but it did work for a while after I reconnected so that doesn't make much sense.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.