Giter VIP home page Giter VIP logo

autocraft's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

autocraft's Issues

Split Main into methods

The 'Autocraft' class should be cleaned up for better readability.
So multiple actions like collecting all autocrafters in a world or checking if there are enough items in an inventory

Crafter handling needs optimization

This should be also done eventually, is similar to #4

There are a couple things in the code that can be optimized without affecting anything

  1. getCraftResult() method checks if contents of an autocrafter match any of the recipes every time we craft stuff.

Solution: make a field in the class member that will hold the Recipe and update it only when crafters are loaded for the first time or when contents are changing (should be able to catch some kind of event, didn't look into it yet)

  1. Less important. Right now crafters are collected in all loaded chunks by getting access to all item frames in them every craft tick, which is very inefficient and can be laggy if there are a lot of item frames on the server.

Solution: collect all of the crafters by checking entity loading and unloading or at least make crafter list cached so we won't waste time rewriting already loaded ones again

  1. Fixed in b873a5a Recipe list is being updated every craft tick

Some recipes don`t work

A well-known issue, added this just to collect info about wanted recipes

Currently working on a way to bring custom recipes to the plugin

Reproducible Builds

Ideally we'd have this plugin using either Maven or Gradle so that other people can much more easily build the plugin and contribute.

I'm happy to set this up, as well as Github Actions which will automatically build and release the project here so there's not as much work needed for other users who want development builds.

Autocraft is lagging my server a ton

Hi there, I have recently had some performance issues with my server which I couldn't quite identify, I have looked into this a bit further and identified autocraft as the cause of the performance issues. My server went from a constant 12 TPS to 20 TPS after unloading the plugin immidiately, so it is definitely the problem. I am running Purpur 1.19.2, maybe you could look into this - I enjoy using the plugin a lot to automate things, but if it lags my server a lot I obviously sadly can't use it, for now at least.
Thanks in advance

Hoppers are able to move items in/from autocrafters

Description:

Ok so this may be not a bug but rather used as a toggleable feature.
If you place a hopper facing into an autocrafter/place a hopper underneath it it will be able to transfer items thus making it impossible to use it in vertical hopper lines or in some special cases when you can`t fit a chest into a contraption.

Possible fix:

Add a config option to enable changing the inventory of an autocrafter with a hopper because it can be used as a way to automate recipe changing

Didn`t look into the ways of preventing it from happening, but I think it will be similar to the way we currently prevent items from being dispensed from crafters, can probably even be done with the same EventListener

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.