Jump to content
  • Home
  • Files
  • Docs
Status Updates
  • All Content

  • Advanced Search
  • Existing user? Sign In  

    Sign In



    • Not recommended on shared computers


    • Forgot your password?

  • Sign Up
  • All Activity
  • Home
  • Matryoshika

Matryoshika

Forge Modder
 View Profile  See their activity
  • Content Count

    523
  • Joined

    July 6, 2016
  • Last visited

    September 7, 2020
  • Days Won

    3

Matryoshika last won the day on March 30 2018

Matryoshika had the most liked content!

Community Reputation

118 Excellent

1 Follower

  • Mambo_Dancer

About Matryoshika

  • Rank
    Dragon Slayer
  • Birthday 09/04/1995

Converted

  • Gender
    Male
  • Location
    Sweden
  • Personal Text
    The Insane one

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Matryoshika

    How to check if player is in a biome of a specific type?

    Matryoshika replied to sver20's topic in Modder Support

    Use ForgeRegistries.BIOMES.getValue(value) to get a biome. The value is a ResourceLocation, which you can get from Biomes.FOREST.getRegistryName()
    • September 2, 2020
    • 6 replies
  2. Matryoshika

    [1.15.2] Unable to compare RegistryObject<Item> to Item

    Matryoshika replied to NickWrecks's topic in Modder Support

    Hey, we all have our moments when we need to rubber duck debug. Sometimes the answer could be staring right at us and we don't notice until someone else points it out. It's a human Feature™
    • August 25, 2020
    • 3 replies
  3. Matryoshika

    [1.15.2] Unable to compare RegistryObject<Item> to Item

    Matryoshika replied to NickWrecks's topic in Modder Support

    Have you tried ModItems.MESSAGE_SCROLL.get()? The method comment for RegistryObject::get is:
    • August 25, 2020
    • 3 replies
      • 1
      • Thanks
  4. Matryoshika

    [1.15.1] Read string from json file - how do I determine the correct json file?

    Matryoshika replied to PianoManu's topic in Modder Support

    Sadly I do not, at least of the later stage when I switched from 2d flat-faced textures to an actual 3d block with actual holes I do however have the first rendition of my menger-sponges still. Lapis block -> Lapis Menger Sponge T1 ->...->T5 I eventually as said switched to actual 3d-models instead of using the void hole in the middle. The commented out part below the highlighted code in the link is what's shown above. Feel free to setup a local repo though and build your own jar of Σcho. Tried to but haven't used eclipse since that project (3 years ago now >.>) and I forgot how much I hate setting up projects in it. Requires botania & jei cause I had some integrations with them
    • August 22, 2020
    • 9 replies
  5. Matryoshika

    [1.15.1] Read string from json file - how do I determine the correct json file?

    Matryoshika replied to PianoManu's topic in Modder Support

    Don't try to emulate the texture itself. Instead use IForgeBakedModel::getQuads which has a side argument. I used this back in 1.12 to make menger sponges out of any solid block. It's a bit outdated, so copy/paste probably won't work, but should point you in the right direction. BakedMengerOneModel.java#L47-77 Also please cache the models that your blocks have copied. It's much easier on the client to reuse the List<BakedQuad> that you've already gotten once, than to continuously ask for it. Cache However nowadays you should use ISelectiveResourceReloadListener instead The bytes sprinkled throughout the code is the tiers of the menger iterations. They can be safely ignored.
    • August 22, 2020
    • 9 replies
      • 1
      • Thanks
  6. Matryoshika Matryoshika changed their profile photo July 31, 2020
  7. Matryoshika

    Identifying and blacklisting a "hack" mod on connection

    Matryoshika replied to Matryoshika's topic in Modder Support

    Pretty much every packet, Vanilla, Forge and quite the select few modded ones, like EIO teleportation, are fired from the client with modified data. Spawning in items mainly by using the CPacketCreativeInventoryAction although the mechanics for how the server is accepting it from the client is beyond me.
    • August 5, 2019
    • 3 replies
  8. Matryoshika

    Identifying and blacklisting a "hack" mod on connection

    Matryoshika posted a topic in Modder Support

    Preface: I will not name the mod I'm trying to identify on client-connection, bar possibly in PM to someone from the Forum Team. It shouldn't be known about I'm part of a server-network that has started to see several players using a "hacking mod" that allows them to manipulate packets. The mod in question goes cross-language between java and C++. Usually, for things like this, we just add the offending mod's modid to a blacklist plugin and that'll disallow the client from connecting to any of our servers. However, this mod in question, stupidly enough, allows the user to edit it's own modid, modname and version-id through a gui in the menu, to anything they user can think of. This is quite disconcerting. I know there's very little information given here, but is there anything bar modid/modname/version given out in any packet/handshake/event that can be used to identify a mod?
    • August 3, 2019
    • 3 replies
  9. Matryoshika

    [1.12.2] Render Shrinking Chunk of Blocks

    Matryoshika replied to DavidM's topic in Modder Support

    Whilst I cannot help out with the proper way to disable the blocks from rendering inside this area, and substituting your own animation, I can quite confidently state that it will not be as performance intensive as you think, if you keep OpenGL calls to a minimum. I've made some menger-sponge inspired compressed blocks (20^1, 20^2.... 20^6 block compression) and whilst I was dealing with pre-calculated models and bakedQuad-caching, T3 compression(20^3) or 8,000 miniature blocks rendered inside a single blockspace did cause some stutter, but not game-breaking. (Though it wasn't animated) Though 11^3 isn't a small number, that still only equates to 1,331 blocks. Yes, scaling all of this will have a higher performance drain than just basic rendering, but it shouldn't be impossible if you focus on performance.
    • April 10, 2019
    • 3 replies
      • 1
      • Like
  10. Matryoshika

    MC 1.12.2 Registering things correctly

    Matryoshika replied to winnetrie's topic in Modder Support

    He just linked you the source-code for the class that specifically holds all registries... perhaps you should use that class? ForgeRegistries.BLOCKS.getValue(key) to get a specific block, where key is the block's RegistryName, If you want to get all your mod's blocks at once, you would need to iterate over the registry first. (personally I'd use a lambda stream with a filter matching each blocks's RegistryName's getResourceDomain (mod-id), then save that in a collection somewhere) Whilst not using raw ID's is correct (they can be different on different servers!) NEVER use static instances. The whole RegistryEvent was made to remove this practice. Use the ObjectHolder annotation instead if you must have an associated field.
    • April 9, 2019
    • 14 replies
  11. Matryoshika

    Need help with my server

    Matryoshika replied to Keoks's topic in Support & Bug Reports

    Wrong sub-forum to create this thread in. Modder support is for people actively coding with Forge. Support & Bug reports would be the correct location for this issue You've already made a thread there. No need to spam threads Tartheus is the mod trying to access client-side only code(particles in this case) whilst being server-side. Find their issue-tracker and report it there
    • April 5, 2019
    • 4 replies
  12. Matryoshika

    Generate new Crops Inside a world

    Matryoshika replied to Cris16228's topic in Modder Support

    Your if-statement is faulty. surface here will always be a non-air-block. You have to check if surface.up() is an air-block, not the one that is guaranteed not to be. Further-more, if you simplify your entire if-statement to if(A && B && C || D) then the logic is easier to see. if A, B and C are true, OR if D is true, then continue. Dirt-blocks will always pass this check, even if the air-block or surfaceWorld are false. You need to wrap C and D inside a parenthesis. if(A && B && (C || D)), to continue if either of those two are true, whilst still relying on the A and B checks.
    • March 25, 2019
    • 8 replies
  13. Matryoshika

    Generate new Crops Inside a world

    Matryoshika replied to Cris16228's topic in Modder Support

    This is how I usually create my worldgen features Implement IWorldGenerator in your worldgen class(es). This will give you access to a generate method which will be called during worldgen. Be sure to check what Dimension(id) and/or what WorldType is being used by the current world. Don't think you want to generate stuff in the Nether/End etc. The mentioned generate method will give you a chunkX & chunkZ parameters. Do not multiply by 16 to get blockcoords, but rather use bit-shifting (blockpos = chunkpos << 4). Whilst multiplication from chunkpos to blockpos will result in correct numbers, division (block->chunk) will result in incorrect values for negative coordinates, due to how integers are rounded. It is for the best to consistently use one method to calculate rather than mix-and-match based on the situation. Always try to generate your features inside of the currently generating chunk. Do not generate along the border. This can cause cascading chunk-generations, and cause lag. Add 8 to both your x & z block-coordinates to get the (almost) centre of the current chunk, then use a random value between -7 to 7 (min-max values) to truly get a random position within the chunk. As for y-coordinates, you can use World::getTopSolidOrLiquidBlock to get the top-most solid y-value. Be sure to check if it is not a fluid though! For your normal crops, you only need to check for Dirt or Grass blocks, switch them out for Farmland (be sure to place some water next to it) and then place the crop ontop of that Sugarcane is a bit trickier. You can have a look through the WorldGenReed class in your IDE to see how Vanilla spawns Sugarcane Lastly, you need to register your IWorldGenerator implementing class during init (FMLInitializationEvent) using GameRegistry.registerWorldGenerator(WorldGenerator, weight) where weight is an integer determining when they are run. Higher weights tend to run after generators with less weight.
    • March 25, 2019
    • 8 replies
  14. Matryoshika

    [1.12.2] Creating New World-Bound Items After Initilization

    Matryoshika replied to JavaIsBetterThanJavaScript's topic in Modder Support

    You can not create any item after pre-initialization has finished. The code is built specifically to that effect. If you must, you can allow the end-user to create new items through JSON or any other means, but those items will not exist until Minecraft launches once more, and detects the new items during the registry-events. This however has it's drawbacks, especially with constant addition and possibly subtractions from the registries. It would be for the best if you created a base-alloy item, register that once, and then edit it's stat with NBT, similarily to how Tinkers' Construct creates it's tools. You can edit many, many different client-side stats of the alloys, such as name, icon/model etc, to distinguish them. They will still all use the same [modid]:[name] but again, as with Tinker tools, you can spawn them in with specific NBT data. If you sort out all your different possible stats (or just some of them) the different alloys can be added to your CreativeTab (and thus also automatically into JEI if installed) to make it simpler to spawn in.
    • March 20, 2019
    • 8 replies
  15. Matryoshika

    Large entity is not rendering under specific angle

    Matryoshika replied to Toma™'s topic in Modder Support

    This is most likely caused by the Entity's Frustum culling. Don't have access to a workspace right now, but there should be a boolean along the lines of ignoreFrustumCheck that you can set to true in your entity's class that has been inherited from the base Entity class.
    • March 18, 2019
    • 4 replies
  16. Matryoshika

    Can you detect if a mod is loaded?

    Matryoshika replied to ZombieEnderman5's topic in Modder Support

    You still have them ingame, just don't add them to creative tabs, or recipes, making the /give command the only way to get them.
    • July 25, 2018
    • 6 replies
  • All Activity
  • Home
  • Matryoshika
  • Theme

Copyright © 2019 ForgeDevelopment LLC · Ads by Longitude Ads LLC Powered by Invision Community