Giter Site home page Giter Site logo

Hi 👋, I'm dec

Java, Rust and C++ Developer

dec4234

Connect with me:

dec4234

Languages and Tools:

 dec4234

 dec4234 Languages

Projects

Java

An API wrapper written in Java for the Bungie platform API. Useful for developers looking to retrieve stats and other information about users and clans inside of the game Destiny 2. Supports clan management such as kicking, banning, promoting and inviting as well using OAuth.

A Discord Bot using JDA and the JavaDestinyAPI to control my Destiny 2 Clan. The bot supports several features related to clan management, most notably: Applications handled inside Discord, Discord role management and functionality to automatically detect people who leave. The bot has made it significantly easier to manage the clan as many tedious actions have been automated. I host it on a Raspberry Pi 4 8 GB at my house.

MongoDB is utilized to store information about each user including both Discord and Bungie IDs, join and leave dates, and usernames. This allows me to have access to all of the information needed to manage clan members.

StreamAlerter is a project I made to be able to detect when Youtubers start a live stream without using the Google API. Normally if you wanted to check for a Youtube livestream, you would have to use the Google API which is limited through quotas. This solution retrieves the web page using a channel ID and then checks for a specific link under a certain html tag. The only potential problem with this solution is bandwith usage, but it can mitigated by limiting the time between calls.

Spigot Plugins (Java)

The third iteration of a Spigot plugin for the semi-private minecraft server I help develop. This is the biggest project relating to Minecraft server development that I have undertaken.

The basic gameplay loop of the server relates around "Pits" where players can go to kill a lot of mobs in order to progress to the next highest pit. In order to be able to make this work, the plugin implements a custom mob spawning solution modeled off of Hypixel Skyblock's system. Whenever mobs are killed they are added to a list of dead mobs, then at a fixed interval all dead mobs are respawned.

Additionally, MongoDB is used to store player information such as kills, deaths, money (shekels) and a Base64 encoded private vault. A public scoreboard using armor stand holograms is used to display the top 5 mob killers on each day. A sidebar scoreboard solution has also been implemented, using a system that I developed.

The server also utilizes command blocks built and managed by another user, Wildfire, to control the finer gameplay elements. The server is by no means amazing but it is a good game to play while at school.

DecsLoginSecurity is an offline mode security solution for offline mode servers. This plugin is used on the "The Pit" which is the same server as above.

All users are required to register a password and use it when logging in. Otherwise, any user with malicious intent could login under another player's name and wreak havoc.

DecsNPCs is a simple solution for NPCs that I made for "The Pit" a while ago. DecsNPCs utilizes packets to spawn and manage NPCs. Functionality is limited however it provided invaluable experience for me in order to better understand packets. We eventually abandoned this project in favor of Citizens2.

Rust Lang

A project nearly identical to the JavaDestinyAPI, except in Rust. Uses Serde and Reqwest to make requests to the Bungie.net API and easily parses all of the responses into pre-made structs. Uses tokio to perform async tests, which ensure that functionality for the API remains intact in-between each update. Uses chrono and a custom Zulu Time deserializer to parse time formats.

A proof of concept of a Proof-Of-Work CryptoCurrency written in Rust.

A packet-based information transfer protocol. Supports serializing and deserializing structs to and from bytes and sending them to connected servers or clients.

An implementation of a Minecraft: Java Edition Server in Rust. Supports the full login sequence up until chunk data is transferred to the client. Supports Server List ping handling.

C++

Implementations of various data structures in C++, including Linked Lists and Array Lists.

dec's Projects

apply icon apply

A guide to applying to the Destiny 2 Clan Heavenly Mayhem

benedict icon benedict

Discord bot for Destiny 2 Clan Management

deccoin icon deccoin

A Proof-of-Work Cryptocurrency written in Rust

endstone icon endstone

A Minecraft: Java Edition server software written in Rust

inventorycollection icon inventorycollection

Automatically deposits broken blocks into a player's inventory instead of dropping them on the ground

ironcraft icon ironcraft

Packet & IO Handling for Minecraft Protocol

pitcore3 icon pitcore3

A full custom server backend for a 1.16.2 Minecraft Server

rnd icon rnd

TCP Packet Communications System

rustiny icon rustiny

A wrapper for the Bungie.net/Destiny 2 API in Rust. A sister project to the JavaDestinyAPI.

streamalerter icon streamalerter

A simple tool to check if a Youtube channel is livestreaming, without using the Google API

targetgeneratorv2 icon targetgeneratorv2

Generate test images from a drone's perspective for classification and identification training

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.