Code Monkey home page Code Monkey logo

bedrockminer's Introduction

Hey! I'm Adrian, and I'm an experienced all-around developer with a focus in Web Development. I've been programming for over 9 years, and have been working professionally for over 4 years now. In that time, I have acquired experience with a large amount of languages and technologies like Java, Javascript, Typescript, HTML, CSS, SCSS, Tailwind, React, NextJS, Vue, JQuery, PHP, Express, Fastify, SQL, MongoDB, Python, C++, C#, Rust, x86 assembly, and more.

wowkster wowkster

Contact

You can contact me on Discord (preferred) at @wowkster or by email at [email protected]. I take commissions if you like my work. If you are contacting me about an issue with a project, please open a GitHub issue on that repository instead. I will tend to it as soon as I can.

Personal Projects

Cloaks+ (Founder/Previously CTO)

A character customization utility for Minecraft

  • Backend in Node/Rust
  • Frontend with Next.js and TS
  • Discord Bot in Discord.js and TS
  • Various Java/Kotlin Plugins
  • Desktop App in Tauri, React, and TS
  • etc

A webstore for stylish pixel art mousepads

  • Backend in TS with Fastify
  • Frontend with Next.js and TS

A next-generation FRC robotics scouting app (data entry and aggregation utility)

  • Frontend and backend in NextJS
  • MongoDB for dynamic and customizable data storage
  • AWS S3 for image storage

Leek (in development)

A custom programming language I'm developing with a unique take on memory management

  • Compiler written in Rust
  • IDE support written in TS and Textmate grammars

dinOS (in development)

A 32-bit hobby operating system written in x86 assembly made to explore low level computing and the x86 architecture. It features a multi-stage bootloader which includes FAT12 drivers and a spec compliant BIOS disk IO wrapper. The kernel is still in the very early stages but supports interrupt handling, VGA text mode drivers, and memory paging.

  • Stage 1 bootloader written in x86 assembly
    • BIOS disk IO wrapper
    • FAT12 file system driver
    • Stage 2 loader
    • Error tolerant design with error messages
    • All fits into 512 byte boot sector (448 bytes when you subtract space occupied by BPB)
  • Stage 2 bootloader written in x86 assembly
    • Kernel loader
    • GDT initializer
    • 32-bit protected mode initializer
  • Kernel written in x86 assembly (for now)
    • VGA text mode drivers
    • PIC programming
    • IDT setup
    • Interrupt handling
    • Memory Paging
    • PS/2 Keyboard Drivers

A implementation of musical floppy drives in Rust

  • Server written in Rust
    • Parses MIDI files
    • Sends MIDI events over USB serial to hardware client
  • Embedded hardware client written in Rust
    • Runs on Raspberry Pi Pico
    • Custom USB serial protocol using CBOR
    • Parallel and interrupt driven floppy drive driver

drown (in development)

A lightweight SQL server and client implementation

  • Custom SQL server written in Rust
    • Custom SQL parser and evaluator
  • Custom SQL client written in Rust
    • Custom network protocol to communicate with server
    • SQL statement REPL

A CPU graphics library written in pure Rust

  • Supports 2D drawing primatives (lines, circles, triangles, etc)
  • Also has helpers for 3D graphics (depth buffering, projection matrices, etc)

SIS16 (on the back-burner until I learn more about CPU design)

A custom CPU architecture with a VM and custom assembly language

  • Assembler written in Rust
  • VM written in Rust

Smaller Side Projects (In various stages of completion)

My GitHub Stats

Wowkster's Top Languages

bedrockminer's People

Contributors

wowkster avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

bedrockminer's Issues

null error in console

[05:18:24 ERROR]: Could not pass event PlayerInteractEvent to BedrockMiner v1.5.6
java.lang.IllegalArgumentException: Cannot translate null text
	at org.apache.commons.lang.Validate.notNull(Validate.java:192) ~[patched_1.16.5.jar:git-Paper-442]
	at org.bukkit.ChatColor.translateAlternateColorCodes(ChatColor.java:354) ~[patched_1.16.5.jar:git-Paper-442]
	at com.adrianwowk.bedrockminer.BedrockMiner.translate(BedrockMiner.java:90) ~[?:?]
	at com.adrianwowk.bedrockminer.events.BedrockMinerEvents.onLeftClick(BedrockMinerEvents.java:70) ~[?:?]
	at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor17.execute(Unknown Source) ~[?:?]
	at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[patched_1.16.5.jar:git-Paper-442]
	at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[patched_1.16.5.jar:git-Paper-442]
	at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[patched_1.16.5.jar:git-Paper-442]
	at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:607) ~[patched_1.16.5.jar:git-Paper-442]
	at org.bukkit.craftbukkit.v1_16_R3.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:511) ~[patched_1.16.5.jar:git-Paper-442]
	at org.bukkit.craftbukkit.v1_16_R3.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:474) ~[patched_1.16.5.jar:git-Paper-442]
	at org.bukkit.craftbukkit.v1_16_R3.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:469) ~[patched_1.16.5.jar:git-Paper-442]
	at net.minecraft.server.v1_16_R3.PlayerInteractManager.a(PlayerInteractManager.java:154) ~[patched_1.16.5.jar:git-Paper-442]
	at net.minecraft.server.v1_16_R3.PlayerConnection.a(PlayerConnection.java:1485) ~[patched_1.16.5.jar:git-Paper-442]
	at net.minecraft.server.v1_16_R3.PacketPlayInBlockDig.a(SourceFile:40) ~[patched_1.16.5.jar:git-Paper-442]
	at net.minecraft.server.v1_16_R3.PacketPlayInBlockDig.a(SourceFile:10) ~[patched_1.16.5.jar:git-Paper-442]
	at net.minecraft.server.v1_16_R3.PlayerConnectionUtils.lambda$ensureMainThread$1(PlayerConnectionUtils.java:23) ~[patched_1.16.5.jar:git-Paper-442]
	at net.minecraft.server.v1_16_R3.TickTask.run(SourceFile:18) ~[patched_1.16.5.jar:git-Paper-442]
	at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.executeTask(IAsyncTaskHandler.java:136) ~[patched_1.16.5.jar:git-Paper-442]
	at net.minecraft.server.v1_16_R3.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) ~[patched_1.16.5.jar:git-Paper-442]
	at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.executeNext(IAsyncTaskHandler.java:109) ~[patched_1.16.5.jar:git-Paper-442]
	at net.minecraft.server.v1_16_R3.MinecraftServer.bb(MinecraftServer.java:1132) ~[patched_1.16.5.jar:git-Paper-442]
	at net.minecraft.server.v1_16_R3.MinecraftServer.executeNext(MinecraftServer.java:1125) ~[patched_1.16.5.jar:git-Paper-442]
	at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.awaitTasks(IAsyncTaskHandler.java:119) ~[patched_1.16.5.jar:git-Paper-442]
	at net.minecraft.server.v1_16_R3.MinecraftServer.sleepForTick(MinecraftServer.java:1086) ~[patched_1.16.5.jar:git-Paper-442]
	at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1000) ~[patched_1.16.5.jar:git-Paper-442]
	at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:173) ~[patched_1.16.5.jar:git-Paper-442]
	at java.lang.Thread.run(Thread.java:834) [?:?]
> ver
[05:20:10 INFO]: This server is running Paper version git-Paper-442 (MC: 1.16.5) (Implementing API version 1.16.5-R0.1-SNAPSHOT)
[05:20:10 INFO]: Checking version, please wait...
[05:20:11 INFO]: You are 1 version(s) behind
> ver BedrockMiner
[05:20:15 INFO]: BedrockMiner version 1.5.6
[05:20:15 INFO]: Author: Adrian Wowk
> pl
[05:20:18 INFO]: Plugins (6): BedrockMiner, CMI, CMILib, CMIPaperLib, LuckPerms, Vault
>

[feature request] unable to enchant the pickaxe

This is a bit lower of a feature request than some other tickets i've created. But it would be fantastic if we could prevent players from using anvils etc to enchant the pickaxe. We want to kinda provide them with a unique pickaxe and not let them add mending to it to repair it. Making it a lot more rare in the game, forcing players to buy it over and over again.

[timeout] error, some remote call freezes during startup times out.

[05:25:35 INFO]: [BedrockMiner] Enabling BedrockMiner v1.5.6

[ 30 seconds freeze during startup here ]

[05:26:05 WARN]: java.net.UnknownHostException: checkip.amazonaws.com
[05:26:05 WARN]: 	at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:220)
[05:26:05 WARN]: 	at java.base/java.net.Socket.connect(Socket.java:609)
[05:26:05 WARN]: 	at java.base/java.net.Socket.connect(Socket.java:558)
[05:26:05 WARN]: 	at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:182)
[05:26:05 WARN]: 	at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:474)
[05:26:05 WARN]: 	at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:569)
[05:26:05 WARN]: 	at java.base/sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
[05:26:05 WARN]: 	at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:341)
[05:26:05 WARN]: 	at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:362)
[05:26:05 WARN]: 	at java.base/sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1253)
[05:26:05 WARN]: 	at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1187)
[05:26:05 WARN]: 	at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1081)
[05:26:05 WARN]: 	at java.base/sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:1015)
[05:26:05 WARN]: 	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1592)
[05:26:05 WARN]: 	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1520)
[05:26:05 WARN]: 	at java.base/java.net.URL.openStream(URL.java:1140)
[05:26:05 WARN]: 	at com.adrianwowk.bedrockminer.BedrockMiner.logHostNames(BedrockMiner.java:148)
[05:26:05 WARN]: 	at com.adrianwowk.bedrockminer.BedrockMiner.onEnable(BedrockMiner.java:79)
[05:26:05 WARN]: 	at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:263)
[05:26:05 WARN]: 	at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:380)
[05:26:05 WARN]: 	at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:483)
[05:26:05 WARN]: 	at org.bukkit.craftbukkit.v1_16_R3.CraftServer.enablePlugin(CraftServer.java:501)
[05:26:05 WARN]: 	at org.bukkit.craftbukkit.v1_16_R3.CraftServer.enablePlugins(CraftServer.java:415)
[05:26:05 WARN]: 	at net.minecraft.server.v1_16_R3.MinecraftServer.loadWorld(MinecraftServer.java:464)
[05:26:05 WARN]: 	at net.minecraft.server.v1_16_R3.DedicatedServer.init(DedicatedServer.java:239)
[05:26:05 WARN]: 	at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:935)
[05:26:05 WARN]: 	at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:173)
[05:26:05 WARN]: 	at java.base/java.lang.Thread.run(Thread.java:834)
[05:26:05 INFO]:  [BedrockMiner] Successfully enabled :)

Can we a- use the regular spigotmc version checker, b- an option to turn off version checking in config.yml

1.18.2 Compatibility

Is your feature request related to a problem? Please describe.
1.18.2 compatibility

Describe the solution you'd like
1.18.2 compatibility

Describe alternatives you've considered
no alternative

Additional context
I think tahts not needed :)

Color codes don't parse in pickaxe lore

I forgot to check, in the latest v2 beta you gave me in private, the color codes don't parse on the lore. In the config you could set - 'hello &6orange' but in-game when you /bm give, the pickaxe will display it as plaintext hello &6orange and not actually turn orange (well, 6 is technically gold i guess).

I thought it was worth to note down, I myself, but i can imagine others might expect it to support color codes.
It's a minor issue to be fair, but hoping it makes it into a future build.

image

[request] prevent breaking nether roof

Hey, would it be possible to also block y:128 in the nether dimensions? I just tested and went to the nether world and broke through to the roof. I would love to have an option in config.yml to endable/disable this. So on one server i can allow it but disallow it like y:0 in other servers.

Exception error: prepareitemcraft

I noticed this in the console on the live server, not exactly sure what was happening or causing it, thought i'd report it regardless.

[15:58:50 ERROR]: Could not pass event PrepareItemCraftEvent to BedrockMiner v2.0.1-beta-1b
java.lang.NullPointerException: null
        at com.adrianwowk.bedrockminer.events.BedrockMinerEvents.onCraftPrepare(BedrockMinerEvents.java:120) ~[?:?]
        at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor303.execute(Unknown Source) ~[?:?]
        at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[patched_1.16.5.jar:git-Paper-457]
        at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[patched_1.16.5.jar:git-Paper-457]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[patched_1.16.5.jar:git-Paper-457]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:607) ~[patched_1.16.5.jar:git-Paper-457]
        at org.bukkit.craftbukkit.v1_16_R3.event.CraftEventFactory.callPreCraftEvent(CraftEventFactory.java:1284) ~[patched_1.16.5.jar:git-Paper-457]
        at net.minecraft.server.v1_16_R3.ContainerWorkbench.a(ContainerWorkbench.java:70) ~[patched_1.16.5.jar:git-Paper-457]
        at net.minecraft.server.v1_16_R3.ContainerPlayer.a(ContainerPlayer.java:106) ~[patched_1.16.5.jar:git-Paper-457]
        at net.minecraft.server.v1_16_R3.InventoryCrafting.setItem(InventoryCrafting.java:135) ~[patched_1.16.5.jar:git-Paper-457]
        at net.minecraft.server.v1_16_R3.Slot.set(SourceFile:82) ~[patched_1.16.5.jar:git-Paper-457]
        at org.bukkit.craftbukkit.v1_16_R3.inventory.CraftInventoryView.setItem(CraftInventoryView.java:53) ~[patched_1.16.5.jar:git-Paper-457]
        at net.minecraft.server.v1_16_R3.Container.b(Container.java:286) ~[patched_1.16.5.jar:git-Paper-457]
        at net.minecraft.server.v1_16_R3.Container.a(Container.java:188) ~[patched_1.16.5.jar:git-Paper-457]
        at net.minecraft.server.v1_16_R3.PlayerConnection.a(PlayerConnection.java:2501) ~[patched_1.16.5.jar:git-Paper-457]
        at net.minecraft.server.v1_16_R3.PacketPlayInWindowClick.a(SourceFile:32) ~[patched_1.16.5.jar:git-Paper-457]
        at net.minecraft.server.v1_16_R3.PacketPlayInWindowClick.a(SourceFile:10) ~[patched_1.16.5.jar:git-Paper-457]
        at net.minecraft.server.v1_16_R3.PlayerConnectionUtils.lambda$ensureMainThread$1(PlayerConnectionUtils.java:23) ~[patched_1.16.5.jar:git-Paper-457]
        at net.minecraft.server.v1_16_R3.TickTask.run(SourceFile:18) ~[patched_1.16.5.jar:git-Paper-457]
        at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.executeTask(IAsyncTaskHandler.java:136) ~[patched_1.16.5.jar:git-Paper-457]
        at net.minecraft.server.v1_16_R3.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) ~[patched_1.16.5.jar:git-Paper-457]
        at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.executeNext(IAsyncTaskHandler.java:109) ~[patched_1.16.5.jar:git-Paper-457]
        at net.minecraft.server.v1_16_R3.MinecraftServer.bb(MinecraftServer.java:1133) ~[patched_1.16.5.jar:git-Paper-457]
        at net.minecraft.server.v1_16_R3.MinecraftServer.executeNext(MinecraftServer.java:1126) ~[patched_1.16.5.jar:git-Paper-457]
        at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.awaitTasks(IAsyncTaskHandler.java:119) ~[patched_1.16.5.jar:git-Paper-457]
        at net.minecraft.server.v1_16_R3.MinecraftServer.sleepForTick(MinecraftServer.java:1087) ~[patched_1.16.5.jar:git-Paper-457]
        at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1001) ~[patched_1.16.5.jar:git-Paper-457]
        at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:174) ~[patched_1.16.5.jar:git-Paper-457]
        at java.lang.Thread.run(Thread.java:834) [?:?]
> ver
[17:40:09 INFO]: This server is running Paper version git-Paper-457 (MC: 1.16.5) (Implementing API version 1.16.5-R0.1-SNAPSHOT)
[17:40:09 INFO]: Checking version, please wait...
[17:40:09 INFO]: Previous version: git-Paper-455 (MC: 1.16.5)
[17:40:09 INFO]: You are running the latest version
>

this is from the BedrockMiner v2.0.1-beta-1b you gave on discord last night.

api version bump

api-version: 1.14

Since we're on 1.16.5 now with 1.17 in the summer update, maybe while you are doing updates anyway, could it get a version bump in the api so newer material names are available for craft recipes?

[request] Config.yml option for silk touch level requirement

We have silk touch 1 for regular mining, we have silk touch 2 for jobs boosting things, silk touch 3 for another feature and 4 and 5 for certain events and spawner breaking. It would be rather fantastic that we could make it silk touch 6 for bedrock mining.

Would this please be possible, an option in the config.yml for require silk touch yes, silk touch level: 6.

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.