Code Monkey home page Code Monkey logo

old-gravitymod-forge's Introduction

GravityMod

A minecraft mod that provides block and fluid physics in the game.

License

The license for this mod's source code is located here

old-gravitymod-forge's People

Contributors

coaster3000 avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

old-gravitymod-forge's Issues

Base Logic Controller

Logic Controller to handle block logic via LogicHandle's which handle special cases in physics logic, along with a fallback method for when no detected structure in blocks is found.

  • Implement Base Gravity Logic
  • Implement Basic Strength system for blocks.

Basic Event System

Event system to allow mods to implement custom actions or cancel certain actions within this mod.

  • Block Fall Event
  • Physics Calculation Event
  • Impact Event

Currently all blocks fall except bedrock

There is no way to prevent blocks from falling as of yet.
The following things are needed:

  • have a blacklist / whitelist system in config file for block types.
  • Check if block is supported by other means (horizontally)
  • Check if block is supposed to float in the air
  • Check if block is a multiblock and is supported in that manner

Liquids affected by gravity?

Water collapsed on itself during some testing. Came to the conclusion that the water source block is being allowed physics.

Physics Tick Events

Handle world ticks and convert them into individual physics ticks when work is present.
To determine if work is present, use a queue system to mark locations in a world that need to have physics calculations done.

Unnecessary Checks Performed

There is a lot of unnecessary checks being performed when blocks fall which causes a backlog of calculations that prevents the blocks that should be falling, from falling in a timely manner.

When a block hits the ground, it causes a block update on all neighbors. This update causes physics calculation tasks to be added to queue which are very unnecessary unless those blocks can fall as a result of the collision.

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.