Coder Social home page Coder Social logo

scooters's Introduction

hibi's github profile

jack of all trades, master of none

26, trans woman, bi/pan.

i have moderate skill with java, c, lua, html+css+js. i also know a bit about game design from my interest in games, all of this is informal. i also have a sense of code correctness from studying glitches and exploits in games generally.

  • minecraft modder - i like adding to things i already use and like
  • the hibi lies in the details - i know exactly the consequences of my code and i design it with them in mind
  • documentation, yes way - i enjoy sharing knowledge and talking about code
  • i have a site at hibiscus.pet, mostly html, using jekyll

discord: hibiscvs
modrinth: hibi
curseforge: hibiscvs
patreon: hibiscvs

scooters's People

Contributors

basiqueevangelist avatar hibiii avatar spookyena avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

scooters's Issues

Scooters do not follow gravity of Ad Astra planets

Scooter entities don't respect the gravity on other planets in Ad Astra, as their movement assumes default values designed around Minecraft Overworld. For example, the scooters do not have lowered gravity when on the moon.

Add recipe book recipe unlock for recipes

Accessibility issue, some players just don't prefer toomanyitems to find their recipes

The recipes are not actually discoverable until the player crafts them, which sucks.

Scooters sometimes don't have correct positions or angles when dismounting

When dismounting a scooter, its angle may not reflect the player's previous angle, or the position may be inaccurate if the player dismounts at high enough speed. This causes all sorts of side effects, like the client scooter entity clipping into blocks and becoming uninteractable due to its entire hitbox being inside of the block. This may be caused by excessive client-side lerping.

Electric scooters do not continue charging when they are unloaded

When a chunk unloads, the connection information between the charger and the e-scooter isn't saved. That means, when players leave an e-scooter charging and go away, the two will be disconnected and the batteries will no longer be charging.

The workaround for this is to place charging stations for e-scooters around places where you spend the most time in-game.

Electric scooter breaks on server

The electric scooter sets a tracked data to null, which breaks on serialization.

java.lang.NullPointerException: Cannot invoke "net.minecraft.util.math.BlockPos.asLong()" because "$$0" is null
        at net.minecraft.network.PacketByteBuf.writeBlockPos(PacketByteBuf.java:301) ~[server-intermediary.jar:?]
        at net.minecraft.entity.data.TrackedDataHandlerRegistry$4.write(TrackedDataHandlerRegistry.java:238) ~[server-intermediary.jar:?]
        at net.minecraft.entity.data.TrackedDataHandlerRegistry$4.write(TrackedDataHandlerRegistry.java:235) ~[server-intermediary.jar:?]
        at net.minecraft.entity.data.DataTracker.writeEntryToPacket(DataTracker.java:195) ~[server-intermediary.jar:?]
        at net.minecraft.entity.data.DataTracker.entriesToPacket(DataTracker.java:140) ~[server-intermediary.jar:?]
        at net.minecraft.network.packet.s2c.play.EntityTrackerUpdateS2CPacket.write(EntityTrackerUpdateS2CPacket.java:34) ~[server-intermediary.jar:?]
        at net.minecraft.network.PacketEncoder.encode(PacketEncoder.java:45) ~[server-intermediary.jar:?]
        at net.minecraft.network.PacketEncoder.encode(PacketEncoder.java:14) ~[server-intermediary.jar:?]
        at io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:107) ~[netty-all-4.1.68.Final.jar:?]
        at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:717) ~[netty-all-4.1.68.Final.jar:?]
        at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:764) ~[netty-all-4.1.68.Final.jar:?]
        at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:790) ~[netty-all-4.1.68.Final.jar:?]
        at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:758) ~[netty-all-4.1.68.Final.jar:?]
        at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:808) ~[netty-all-4.1.68.Final.jar:?]
        at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:1025) ~[netty-all-4.1.68.Final.jar:?]
        at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:306) ~[netty-all-4.1.68.Final.jar:?]
        at net.minecraft.network.ClientConnection.sendInternal(ClientConnection.java:214) ~[server-intermediary.jar:?]
        at net.minecraft.network.ClientConnection.method_10761(ClientConnection.java:206) ~[server-intermediary.jar:?]
        at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164) [netty-all-4.1.68.Final.jar:?]
``

EDIT: Remapped stack trace to yarn

Scooters can get stuck on steps and grass paths

Somehow for some reason scooters trip the vanilla anti-cheat.

Slabs and stairs can get very nasty if you're riding an e-scooter at speed. Grass paths are the worst offenders, as sometimes, even push scooters can get stuck on 1px steps for no real reason.

There's no mitigation for this, you'll have to brake, or rotate away if you want to keep your speed.

A line in the server log is also printed: [Server thread/WARN]: Scooter (vehicle of Username) moved wrongly!

1 last question.

is there a way i can convert the mod back to fabric?
i really want this mod, if there is a way ill do it myself,
thanks

Remove spaghetti between electric scooters and charging stations

The coupling logic between electric scooters and charging stations is an absolute mess in terms of flow and reliance on invariants. Debugging it is painful as there are a million checks for invariants and lots of methods that try to do one thing but also do other things in the process.

Patchouli guide book

Title says it all. While Scooters mod doesn't offer a lot, and can be expressed well in two web pages, it's still nicer to have a book in-game. I personally prefer the uninterrupted experience of having in-game wikis and storing them in a bookshelf, during my time with Botania, Spectrum, and even Extended Drawers and Red Bits, as opposed to looking at a web browser out of the game.

Getting on a kick scooter instantly drains hunger

For some reason, getting on a kick scooter after spawning it drains your hunger massively. A hypothesis is the previous position resetting to (0, 0, 0) and being only updated when the player gets on the scooter, and when the player gets on the scooter, they take hunger scaled to the offset of the scooter in the world, as this is the observed behavior. This does not happen if the player mounts a kick scooter they've already mounted before.

Crafting recipes do not show up in the recipe book

Even with /recipe give @s *, the following crafting recipes do not show up in the recipe book:

  • Kick scooter (defined in data/scooters/recipes/kick_scooter.json)
  • Electric scooter (defined in data/scooters/recipes/electric_scooter.json)

Refactor scooter entity rendering to use entity features

Currently, the scooter entity always render the brake handle and the power notch, regardless if it's electric or not, just that the kick scooter has transparent pixels. This decision was made to simplify the process but is highly inefficient and inflexible, as the scooter entity cannot have a mixture of things. This is required for scooter customization, a planned feature.

EMI support

Scooters and e-scooters do not show up in EMI because they're not your normal recipes.

Mod not working on 1.20.1

i've installed the mod on my launcher, loaded into a single player mod, cant find the items in creative mode, nor can i craft any of them.

have the latest fabric api installed

Scooters don't slide on slippery blocks

Scooter physics ignore the slipperiness of blocks underneath it.

This would be a major change because the current physics engine is entirely custom and does not meaningfully interact with the Minecraft world. It should also be stated that, if a refactor to the physics engine happens, then driving characteristics will also inevitably change, too.

Changing cables render too thin and wrongly

The charging cable rendering is based on the fishing hook line, and while it's enough to get the point across, it doesn't look like a charging cable, especially at high game resolutions.

Additionally, when there are two scooters, both in close proximity and both being charged by charging stations, the game renders cables across wrong charger-scooter pairs and renders more than 1 cable per scooter.

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.