Jump to content

matt1999rd

Members
  • Posts

    133
  • Joined

  • Last visited

Posts posted by matt1999rd

  1. Hello everyone,

    I try to use Tesselator class to render some icons on a screen. But it doesn't work and I don't see why because I am just using the same code as AbstractGui#innerBlit with float parameters.

    I linked here the texture of the icons to display and the texture of the gui container. here is the code of the class where the rendering is done :

    private void renderQuad(MatrixStack stack, Vector2f origin, Vector2f end, Vector2f uvOrigin, Vector2f uvEnd){
            Tessellator tessellator = Tessellator.getInstance();
            BufferBuilder bufferbuilder = tessellator.getBuilder();
            RenderSystem.enableBlend();
            bufferbuilder.begin(7, DefaultVertexFormats.POSITION_TEX);
            Matrix4f matrix4f = stack.last().pose();
            bufferbuilder.vertex(matrix4f, origin.x, origin.y, (float)0).uv(uvOrigin.x, uvOrigin.y).endVertex();
            bufferbuilder.vertex(matrix4f, origin.x, end.y, (float)0).uv(uvOrigin.x, uvEnd.y).endVertex();
            bufferbuilder.vertex(matrix4f, end.x, end.y, (float)0).uv(uvEnd.x, uvEnd.y).endVertex();
            bufferbuilder.vertex(matrix4f, end.x, origin.y, (float)0).uv(uvEnd.x, uvOrigin.y).endVertex();
            tessellator.end();
    }

    I have already tried to reverse the position of the vertex.

    GUI of the block / icons to display : controller_gui.png.23b8c69fa6cbedc917b4cf243c7a6cf4.pngcontroller_icons.png.f0180308ed9fc0e9fc59d61965517378.png

  2. yes it is the same modid but not the same registry name. The thing I want to do is to replace all occurrences of the block in the world. I tried to do it using the WorldEvent.Load function but I am not sure I can redefine all block especially the ones that are far away from the spawning position. (edit start) I can do it using ChunkEvent.Load but I am not sure of whether this event is reached when loading the world.(edit stop) The solution of replacing the block does not satisfy me as it keeps the bad block in the delivered mods jar file.

  3. hello everyone, I have done a mod in version 1.14 and 1.15 and I am actually updating it to version 1.16.5. But in this process I want to replace some block in it. How can I replace block before loading the world (after clicking on play button on the main menu screen). My block are some simple switchrail (see picture below) that have only two states : the axis of the straight line and the switch position of the block (straight or turn). After this modification, there must be three property : facing, hinge( if the switch turn is on right or left ), switch position.

    2021-12-21_11_35_26.png.b15183e3b68446685472dc90e15105f0.png

  4. Hello everyone,

    I am making a mod that place specific sign in Minecraft. I decided to make a first gui that allow the user to select a specific form of sign (see fig 1). Then I create a second screen for the sign with a little white arrow (located on the right in the middle). However, when placing one of this and retrying to create the same sign it did initialise the screen (of fig 2) but is unable to render it. I will add as detail that the screen is rendered using a loop of networking call : first the user click on the block which send to the server a message to open the GUI. Then when on the first GUI if we click on the specific button, it send to server a message to open the second GUI. Here is the link to my git repository : https://github.com/matt1999rd/SignMod. To place this sign it is mandatory to place support and grid connecting support) and click on grid. (2 by 3 grid mandatory)

    307521616_screen1.png.bdc87261657cf54816c9620fd1fe9707.png

    fig 1 : first screen always displayed1753878612_screen2.png.26cdf34864827f271dcbef19bc091304.png

    fig 2 : second screen that can be initialised without being rendered

     

  5. what do you mean by pre-computed ? is a tab with model for each possibilities created when using multipart ? for my mod I deleted the attributes.

    Another strange bug happened with lag in loading in minecraft : when I add .doesnotblockmovement to my blocks it is loading really slowly.

  6. Hello everyone, I am doing a mod involving a panel block class. This block has multiple blockstateproperties

    @Override
    protected void fillStateContainer(StateContainer.Builder<Block, BlockState> builder) {
        builder.add(
                BlockStateProperties.HORIZONTAL_FACING,
                GridSupport.ROTATED,
                GRID,
                NORTH_EAST,
                NORTH_WEST,
                SOUTH_EAST,
                SOUTH_WEST,
                BlockStateProperties.NORTH,
                BlockStateProperties.SOUTH,
                BlockStateProperties.WEST,
                BlockStateProperties.EAST
        );
    }

    I decided to add a new properties scale that do not change rendering of block. this property is a integer property that allow 4 values : 0,1,2,3 each for modifying pixel length when modifying panel image. Before doing it, minecraft was launching normally but after that it is not working at all and minecraft stop launching after this line :

    [18:43:11] [Client thread/INFO] [minecraft/AtlasTexture]: Created: 512x512 textures-atlas
    

    I don't know if there is any reason why it is suddenly lagging. Here is the commit of my code before adding scale with all others features implying it : https://github.com/matt1999rd/SignMod

  7. Hello everyone,

    I am a total beginner in display code and I want in my new mode to fill a square of a screen with a color that is saved in my screen field. I try to use AbstractGui#fill but it seems not to work. I have seen many time the instance Tesselator that was used but I don't see what this do and how I should use it. In the same idea openGL is used backward and I would like to know where I can find tutorial to understand basic functionnalities of this software.

    Here is the Screen I want to implement it looks alike the one in ichttt mod because I want to implement something of this kind with more options : https://github.com/matt1999rd/SignMod/blob/master/src/main/java/fr/mattmouss/signs/gui/DrawingScreen.java

  8. ok right but I don't know how to manage it and in fact it does not look right because when I place my block it replace the support by air instead of PanelBlock I don't understand why. I have done this both server and client side to avoid side problem and still the problem occurs. You can see here the code of my Registration :

    https://github.com/matt1999rd/SignMod/blob/master/src/main/java/fr/mattmouss/signs/fixedpanel/PanelRegister.java

    I put the block in the Packet send to server :

    https://github.com/matt1999rd/SignMod/blob/master/src/main/java/fr/mattmouss/signs/networking/PacketPlacePanel.java

  9. Hello everyone,

    in my new mod I am trying the TER implementation and I have started an empty TE with a TER and run it to see if anythings happened but it looks like nothing is done. Here is the links to all my staff :

    https://github.com/matt1999rd/SignMod/tree/master/src/main/java/fr/mattmouss/signs/tileentity

    I register this TER into the proxy as you can see here :

    https://github.com/matt1999rd/SignMod/tree/master/src/main/java/fr/mattmouss/signs/setup

    I don't know what I need to add to make sure it render even incorrectly

  10. I finally found the error it was java error. In my te I am searching into the Map using HashMap#forEach and inside it I remove value in this same map. This is logically impossible and it crashes. I found the solution on using a List from outside function that register the value to delete. Thanks for your answer that was simplier than expected

  11. Hello everyone,

    in my mod, I am modifying a map to update it client side. At each tick, I am checking worldSavedData to match it with my te map on server side and then I put it to the client using a packet. But as I destroy two block I run into a very strange exception : ConcurentModificationException. Here is the code of the tile entity : Tile Entity

    I am using hashMap and here is the complete crash report :

     

    ---- Minecraft Crash Report ---- // Daisy, daisy... Time: 25/04/20 10:36 Description: Ticking block entity java.util.ConcurrentModificationException: null at java.util.HashMap.forEach(HashMap.java:1292) ~[?:1.8.0_231] {} at fr.mattmouss.gates.tileentity.CardGetterTileEntity.lambda$tick$7(CardGetterTileEntity.java:145) ~[?:?] {re:classloading} at net.minecraftforge.common.util.LazyOptional.ifPresent(LazyOptional.java:161) ~[?:?] {re:classloading} at fr.mattmouss.gates.tileentity.CardGetterTileEntity.tick(CardGetterTileEntity.java:137) ~[?:?] {re:classloading} at net.minecraft.world.World.tickBlockEntities(World.java:473) ~[?:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.world.server.ServerWorld.tick(ServerWorld.java:368) ~[?:?] {re:classloading} at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:841) ~[?:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:776) ~[?:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:112) ~[?:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:634) [?:?] {re:classloading,pl:accesstransformer:B} at java.lang.Thread.run(Thread.java:748) [?:1.8.0_231] {} A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Thread: Server thread Stacktrace: at java.util.HashMap.forEach(HashMap.java:1292) at fr.mattmouss.gates.tileentity.CardGetterTileEntity.lambda$tick$7(CardGetterTileEntity.java:145) at net.minecraftforge.common.util.LazyOptional.ifPresent(LazyOptional.java:161) at fr.mattmouss.gates.tileentity.CardGetterTileEntity.tick(CardGetterTileEntity.java:137) -- Block entity being ticked -- Details: Name: gates:card_getter // fr.mattmouss.gates.tileentity.CardGetterTileEntity Block: Block{gates:card_getter}[facing=west] Block location: World: (51,4,153), Chunk: (at 3,0,9 in 3,9; contains blocks 48,0,144 to 63,255,159), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511) Block: Block{gates:card_getter}[facing=west] Block location: World: (51,4,153), Chunk: (at 3,0,9 in 3,9; contains blocks 48,0,144 to 63,255,159), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511) Stacktrace: at net.minecraft.world.World.tickBlockEntities(World.java:473) at net.minecraft.world.server.ServerWorld.tick(ServerWorld.java:368) -- Affected level -- Details: All players: 1 total; [ServerPlayerEntity['Dev'/276, l='New World', x=46.12, y=4.00, z=155.12]] Chunk stats: ServerChunkCache: 3019 Level dimension: DimensionType{minecraft:overworld} Level name: New World Level seed: -4566557193619946920 Level generator: ID 01 - flat, ver 0. Features enabled: true Level generator options: {} Level spawn location: World: (48,4,160), Chunk: (at 0,0,0 in 3,10; contains blocks 48,0,160 to 63,255,175), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511) Level time: 5794 game time, 5794 day time Level storage version: 0x04ABD - Anvil Level weather: Rain time: 127319 (now: false), thunder time: 47119 (now: false) Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: true Stacktrace: at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:841) at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:776) at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:112) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:634) at java.lang.Thread.run(Thread.java:748) -- System Details -- Details: Minecraft Version: 1.15.1 Minecraft Version ID: 1.15.1 Operating System: Windows 10 (amd64) version 10.0 Java Version: 1.8.0_231, Oracle Corporation Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation Memory: 459278856 bytes (438 MB) / 1008205824 bytes (961 MB) up to 1411383296 bytes (1346 MB) CPUs: 4 JVM Flags: 1 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump ModLauncher: 5.0.0-milestone.4+67+b1a340b ModLauncher launch target: fmluserdevclient ModLauncher naming: mcp ModLauncher services: /eventbus-2.0.0-milestone.1-service.jar eventbus PLUGINSERVICE /forge-1.15.1-30.0.51_mapped_snapshot_20200213-1.15.1-launcher.jar object_holder_definalize PLUGINSERVICE /forge-1.15.1-30.0.51_mapped_snapshot_20200213-1.15.1-launcher.jar runtime_enum_extender PLUGINSERVICE /accesstransformers-2.0.0-milestone.1-shadowed.jar accesstransformer PLUGINSERVICE /forge-1.15.1-30.0.51_mapped_snapshot_20200213-1.15.1-launcher.jar capability_inject_definalize PLUGINSERVICE /forge-1.15.1-30.0.51_mapped_snapshot_20200213-1.15.1-launcher.jar runtimedistcleaner PLUGINSERVICE /forge-1.15.1-30.0.51_mapped_snapshot_20200213-1.15.1-launcher.jar fml TRANSFORMATIONSERVICE FML: 30.0 Forge: net.minecraftforge:30.0.51 FML Language Providers: [email protected] minecraft@1 Mod List: client-extra.jar Minecraft {[email protected] DONE} main Gates {[email protected] DONE} forge-1.15.1-30.0.51_mapped_snapshot_20200213-1.15.1.jar Forge {[email protected] DONE} Player Count: 1 / 8; [ServerPlayerEntity['Dev'/276, l='New World', x=46.12, y=4.00, z=155.12]] Data Packs: vanilla, mod:forge (incompatible), mod:gates Type: Integrated Server (map_client.txt) Is Modded: Definitely; Client brand changed to 'forge'

     

  12. 8 hours ago, TheGreyGhost said:

     

    Try setting a breakpoint in OBJModel or OBJLoader

    yes that is very good idea I have done it and it looks like it is reading the v part and the vn part of each part but it is reading all vertex for one of the not displayed part and I don't understand why it is not considering the others part. On the other hand I don't know why I need to move my block origin in blockbench to 8 8 8 instead of doing it with normal origin at 0 0 0. For further information I give you the obj file here (turn_stile_main.obj) and the followed json file model associated (turn_stile_main_0.json)

     

    turn_stile_main_0.obj turn_stile_main_0.json

  13. Hello everyone,

     

    I have implemented a obj file for the rendering of my block but the OBJLoader seems to only register the first part and ignoring the others three. I am very need to all this so I don't know how to modify obj file to let it work.

    I put here the rendering of my block and the rendering that I wanted with blockbench.

    Capture.PNG.cfabc6ab651bcddc671dcc1e878b70e9.PNG

    what I want

    2020-04-04_23_32_18.png.6bbe528cd80a0f6b4a5929040d61c5dd.png

    what I get...

  14. Hello everyone, in the update of one of my mod I want to add one direction powered rail but as I look at vanilla code I find really complex function especially in abstractMinecartEntity.

    Does anyone knows :

    1.how to move a minecart on rail using onMinecartPass

    2. how to stop a minecart when it is on a slope

    I try various things but nothing was really efficient.

  15. Hello everyone,

     

    I want to make a turn stile with BakedModel. The objective is to make two rotation to get something like this :Capture.PNG.f94d92736dcfd9a1dbae247beb3207e1.PNG

    The problem is that two rotation are not supportedby json model so I don't know how to make it with bakedModel. I have looked at a tutorial that is not usable anymore.

     

    I don't know if I can possibly load obj file in order not to have any complex code to implement.

     

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.