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
  • ZigTheHedge

ZigTheHedge

Members
 View Profile  See their activity
  • Content Count

    49
  • Joined

    February 18, 2019
  • Last visited

    August 22, 2020

Community Reputation

4 Neutral

1 Follower

  • Dzuchun

About ZigTheHedge

  • Rank
    Tree Puncher

Recent Profile Visitors

1433 profile views
  • Dzuchun

    Dzuchun

    July 12, 2020

  • AlexInCube

    AlexInCube

    April 24, 2020

  • LazyTechwork

    LazyTechwork

    March 5, 2020

  • felinoid

    felinoid

    September 3, 2019

  • AntonBespoiasov

    AntonBespoiasov

    August 27, 2019

  1. ZigTheHedge

    [1.15.2/1.16.2] 5^3 models, or there's a more sane way?

    ZigTheHedge replied to ZigTheHedge's topic in Modder Support

    125 isn't the limit. And I cannot figure out how to use datagenerators in 1.16.2: BlockStateProvider has only one meaningful method to override (act), but it is doing something already.
    • August 20, 2020
    • 2 replies
  2. ZigTheHedge started following [1.15.2/1.16.2] 5^3 models, or there's a more sane way? August 20, 2020
  3. ZigTheHedge

    [1.15.2/1.16.2] 5^3 models, or there's a more sane way?

    ZigTheHedge posted a topic in Modder Support

    I'm making a block which contains three different parts. Each of the parts can use one of five possible textures, leading to 125 blocks in total (due to flattening). I could make three states in block (one state per part) and just 15 models and use multipart blockstate to combine the final block, but parts can use different geometry themselves, increasing the number of possible states combination drastically. In 1.12.2 there was a way to specify texture in blockstate, and now, when forge blockstate format is gone, I cannot find a way to efficiently solve this task.
    • August 20, 2020
    • 2 replies
  4. ZigTheHedge

    1.15.2 (and later) - libs folder for obfuscated jars

    ZigTheHedge replied to ZigTheHedge's topic in ForgeGradle

    It worked! Thanks!
    • August 14, 2020
    • 2 replies
  5. ZigTheHedge

    1.15.2 (and later) - libs folder for obfuscated jars

    ZigTheHedge posted a topic in ForgeGradle

    Hey, guys and gals! In times of 1.12.2 there was a possibility to put normal obfuscated mod jar file in ./libs directory to make its classes accessible within dev environment. In recent versions however, that doesn't work. Yes, I know that I can (and probably should) use maven dependencies to load deobf versions of needed mods, but what to do if I want to use mod, whose maven repository doesn't exist? I've tried to use "compile fileTree(include: ['*.jar'], dir: 'libs')" which allows IDEA to see the internals of jars inside "libs" directory, but I cannot run the mod due to obfuscated names in jars, the same with local "flatDir" repo. Is it possible now at all?
    • August 14, 2020
    • 2 replies
  6. ZigTheHedge started following [1.12.2] TESR normals messed up July 12, 2020
  7. ZigTheHedge

    [1-14-newer] make block with specific shape

    ZigTheHedge replied to matt1999rd's topic in Modder Support

    Use .notSolid() in your Block's Properties.
    • February 18, 2020
    • 5 replies
  8. ZigTheHedge

    [solved] 1.14.4 - getActualState replacement

    ZigTheHedge replied to ZigTheHedge's topic in Modder Support

    Well, actually, I did It seems, updatePostPlacement is my solution. But the method name is kinda misleading... I thought it is called after the block is placed, and has nothing to do with block breaking, Thanks
    • December 13, 2019
    • 2 replies
  9. ZigTheHedge

    [solved] 1.14.4 - getActualState replacement

    ZigTheHedge posted a topic in Modder Support

    Well, I'm struggling with getActualState absence... I have a block, which should act pretty much like fences do. It changes it's model (via BlockState) according to neighbors. I overrode updateNeighbors to set BlockStates to correct values when block is placed nearby, but this method doesn't get called when something destroys the block. What mechanic should I use to change the BlockState when nearby block is destroyed? Forge: 28.1.104
    • December 13, 2019
    • 2 replies
  10. ZigTheHedge

    [1.12.2] TESR normals messed up

    ZigTheHedge replied to ZigTheHedge's topic in Modder Support

    Ah, nevermind. I've just changed IBlockState(s) for models to match FACING as well and removed rotation part from code. That fixed the lighting issue, so I'm happy
    • September 13, 2019
    • 1 reply
  11. ZigTheHedge

    [1.12.2] TESR normals messed up

    ZigTheHedge posted a topic in Modder Support

    Well, it seems that normals doesn't get rotated with the model itself when I use GlStateManager.rotate. I have a JSON model. One part of it is static, and two parts are dynamic. Dynamic parts are rendered using TESR. If the facing of model placed in world is NORTH (default) - everything is rendering as it should, but when model gets rotated, static part is rendered fine and TESR part looks like normals of dynamic parts are still pointing to the NORTH direction. Here are the screenshots: Model facing SOUTH Model facing NORTH TESR rendering part: @Override public void render(CounterTE te, double x, double y, double z, float partialTicks, int destroyStage, float alpha) { GlStateManager.pushAttrib(); GlStateManager.pushMatrix(); GlStateManager.translate(x, y, z); GlStateManager.disableRescaleNormal(); renderDoor(te, partialTicks); GlStateManager.popMatrix(); GlStateManager.popAttrib(); } public void renderDoor(CounterTE te, float partialTicks) { GlStateManager.pushMatrix(); RenderHelper.disableStandardItemLighting(); this.bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE); if (Minecraft.isAmbientOcclusionEnabled()) { GlStateManager.shadeModel(GL11.GL_SMOOTH); } else { GlStateManager.shadeModel(GL11.GL_FLAT); } World world = te.getWorld(); //Rotate renderer to match FACING GlStateManager.translate(.5F, 0, .5F); if(world.getBlockState(te.getPos()).getValue(CommonBlock.FACING) == EnumFacing.NORTH)GlStateManager.rotate(0, 0, 1, 0); if(world.getBlockState(te.getPos()).getValue(CommonBlock.FACING) == EnumFacing.EAST)GlStateManager.rotate(270, 0, 1, 0); if(world.getBlockState(te.getPos()).getValue(CommonBlock.FACING) == EnumFacing.SOUTH)GlStateManager.rotate(180, 0, 1, 0); if(world.getBlockState(te.getPos()).getValue(CommonBlock.FACING) == EnumFacing.WEST)GlStateManager.rotate(90, 0, 1, 0); GlStateManager.translate(-.5F, 0, -.5F); Tessellator tessellator = Tessellator.getInstance(); BufferBuilder bufferBuilder = tessellator.getBuffer(); bufferBuilder.begin(GL11.GL_QUADS, DefaultVertexFormats.BLOCK); IBlockState stateLeft = NMFBlocks.counter.getDefaultState().withProperty(Counter.ASKFOR_LEFTDOOR, true); IBlockState stateRight = NMFBlocks.counter.getDefaultState().withProperty(Counter.ASKFOR_RIGHTDOOR, true); BlockRendererDispatcher dispatcher = Minecraft.getMinecraft().getBlockRendererDispatcher(); IBakedModel modelLeft = dispatcher.getModelForState(stateLeft); IBakedModel modelRight = dispatcher.getModelForState(stateRight); GlStateManager.pushMatrix(); //Render LEFT door GlStateManager.translate(0.96875F, 0, 0.15625F); if(te.getMovingDelta() != 0) GlStateManager.rotate(-(te.getOpenProgress() + partialTicks * ((te.getMovingDelta() > 0) ? 1 : -1)), 0, 1, 0); else GlStateManager.rotate(-te.getOpenProgress(), 0, 1, 0); GlStateManager.translate(-0.96875F, 0, -0.15625F); GlStateManager.translate(-te.getPos().getX(), -te.getPos().getY(), -te.getPos().getZ()); dispatcher.getBlockModelRenderer().renderModel(world, modelLeft, stateLeft, te.getPos(), bufferBuilder, true); tessellator.draw(); GlStateManager.translate(te.getPos().getX(), te.getPos().getY(), te.getPos().getZ()); GlStateManager.popMatrix(); GlStateManager.pushMatrix(); //Render RIGHT door bufferBuilder.begin(GL11.GL_QUADS, DefaultVertexFormats.BLOCK); GlStateManager.translate(0.03125F, 0, 0.15625F); if(te.getMovingDelta() != 0) GlStateManager.rotate(te.getOpenProgress() + partialTicks * ((te.getMovingDelta() > 0) ? 1 : -1), 0, 1, 0); else GlStateManager.rotate(te.getOpenProgress(), 0, 1, 0); GlStateManager.translate(-0.03125F, 0, -0.15625F); GlStateManager.translate(-te.getPos().getX(), -te.getPos().getY(), -te.getPos().getZ()); dispatcher.getBlockModelRenderer().renderModel(world, modelRight, stateRight, te.getPos(), bufferBuilder, true); bufferBuilder.putNormal(0F, 1F, 0F); tessellator.draw(); GlStateManager.translate(te.getPos().getX(), te.getPos().getY(), te.getPos().getZ()); GlStateManager.popMatrix(); RenderHelper.enableStandardItemLighting(); GlStateManager.popMatrix(); } TESR is necessary because of block inventory rendering. That's actually the only reason why I don't use ASM animation...
    • September 13, 2019
    • 1 reply
  12. ZigTheHedge

    Swapping area of blocks between dimensions properly (1.12.2)

    ZigTheHedge replied to pacguy's topic in Modder Support

    There are no flags in scheduleBlockUpdate, it's only delay and priority. Try to start block update with world.notifyBlockUpdate instead.
    • September 9, 2019
    • 8 replies
  13. ZigTheHedge

    Help with changing name of a block [Solved]

    ZigTheHedge replied to myriath's topic in Modder Support

    It won't be translated, right? If so, what's the problem? Just return your translated name from Block::getUnlocalizedName override.
    • September 5, 2019
    • 15 replies
  14. ZigTheHedge

    [1.12.2] Having issues with item json file

    ZigTheHedge replied to CalculusMaster's topic in Modder Support

    And now, when you know your files paths and names are ok, you can just recreate IDEA project by copy-pasting your gradle and src folders and build.gradle to new location, and re-importing build.gradle into the new workspace. I know that's kinda last resort thing, but - works for me
    • September 5, 2019
    • 10 replies
  15. ZigTheHedge

    [1.12.2] Rendering an OBJ model for an armor piece confusion

    ZigTheHedge replied to babijonas's topic in Modder Support

    It doesn't matter what class method is responsible for reacting on FMLPreInitializationEvent with this call, but it has to be on CLIENT side only.
    • September 4, 2019
    • 5 replies
  16. ZigTheHedge

    [1.12.2] Having issues with item json file

    ZigTheHedge replied to CalculusMaster's topic in Modder Support

    That's definitely the problem with IDEA and gradle 4.8.1 because I have the very same issue every damned time I'm cloning my old project from github into new dev environment. But usually I'm able to fix it by rerunning setupDecompWorkspace and genIntelliJRuns with IDEA closed. That issue has nothing to do with file names and locations because they ARE correct. You can try to run runClient task from gradle directly to see that everything is loading properly. I'm not experienced in gradle or IDEA internals, so I cannot point to exact problematic place...
    • September 4, 2019
    • 10 replies
      • 1
      • Like
  17. ZigTheHedge

    1.12.2) Custom Block Model Offset?

    ZigTheHedge replied to xxWhatsherfacex's topic in Modder Support

    If your model is a JSON model, just open it in plain text editor and take a look at boxes coordinates. They should not be less then zero and should not exceed 16. I think the program that you used to create this model should perform better though.
    • September 4, 2019
    • 1 reply
  • All Activity
  • Home
  • ZigTheHedge
  • Theme

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