GithubHelp home page GithubHelp logo

butterfly's Introduction

Hi, I'm Silver

I write code. Mostly in Zig at the moment, but occasionally I'll sprinkle in some other languages here or there. My specific interests vary over time, but at present I seem to be focusing mostly on graphics and game programming.

Contact me

  • Email: silver [at] squirl [dot] dev
  • Discord: silversquirl

butterfly's People

Contributors

asiekierka avatar ieeemma avatar mlugg avatar modmuss50 avatar nikkyai avatar pannoniae avatar prospector avatar selebrator avatar shnupbups avatar silversquirl avatar technici4n avatar upcraftlp avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

mlugg

butterfly's Issues

Pistons pull entities through themselves when retracting

Not sure who initially showed this, but I first saw it here: https://www.youtube.com/watch?v=dqSUyXHugAU

The bug is that, if a piston is pushed into an entity, it pulls the entity through itself when retracting.

In version 1.11, a function was introduced to the piston code that prevents this from happening. This function is still present in the 1.14 code, and can be found at net.minecraft.block.entity.PistonBlockEntity.method_11514 with yarn mappings.

Unfixing this would be a simple matter of using a mixin to overwrite that method with an empty one, or to redirect its invokation in method_11503 of the same class.

Chunk loading is badly implemented

We have to manually implement each thing - eg if we want pistons to load chunks when pushing blocks into them (which we probably do) we'll need to add that as well. What would be better is to make anything that requires data from a chunk make that chunk ticking, like in 1.12 (and probably 1.13, I'm not familiar with 1.13 in the slightest).

As I see it, there are two ways of doing this: either we completely revert the whole chunk loading system (more faithful to the original, but a lot more work) or we add tickets on every chunk access (easier to do, but probably a lot more laggy)

Instant tile tick execution

https://www.youtube.com/watch?v=hViDrnDCIwc

This works because in 1.12 (and probably earlier versions) there is a server-wide boolean flag that causes tile ticks to execute instantly (it's worth noting that the bedrock breaking relies on a different flag, which causes falling blocks to fall instantly).

How easy it would be to reimplement this in 1.14 is unknown to me, as I don't know what it was replaced with (if anything - they may have just decided that feature was unnecessary), however comparing the code with 1.12 will likely provide some insight on what to do.

Singleplayer lag spikes when crossing chunk boundaries with shift held and using Tweakeroo

Gotta be honest, this is a very strange bug. If Tweakeroo is in use (not sure if config matters - I've only done limited testing), holding shift (or possibly whatever's configured as the "sprint" keybind - again, not tested that) and crossing a chunk boundary causes a massive lag spike. However, this only happens in singleplayer - multiplayer is fine, even when both mods are loaded on the client.

Removing ThreadedAnvilChunkStorageMixin from the mixin config removes the issue, however that could just mean it's to do with something that affects, like ChunkHolderMixin. I'm not sure what the specific issue is yet, but it's likely to do with the somewhat naive implementation of ThreadedAnvilChunkStorageMixin.updatePromotions

I don't know about many bugs

There have been a lot of interesting and useful bugs over the years, many of which I don't know about. If you have any to suggest, please do so, either as a comment on this issue or in an issue of its own.

Make redstone load chunks

Requested by Joseph Rooks on the LogicalGeekBoy Discord.

In previous versions, redstone wire loaded chunks - this allows for infinite length instant wire that automatically loads itself when powered or depowered.

I think this should be pretty straightforward - just do the same thing we do for hoppers but instead do it when sending redstone signals across chunk boundaries.

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.