-
-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
V1.1.0 beta 1.21 #25
Merged
Merged
V1.1.0 beta 1.21 #25
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Updated some packet codes and refactored several codes from commit b794928 [CHANGELOG] 🟢 Re-added lost wood repair sounds 🟢 Re-added C2S packet registry 🟢 Added packet sender to AA Projectile entity 🟢 Added `use` method for Turret Item class 🟢 Added "pick block" action to turrets 🟡 Refactored some codes to be more readable 🔴 Removed the duplicated projectile spawn code for Ballista's codebase 🔴 Removed unneeded codes
Updated AA Projectile which now prevents crashes from happening... Several goals are removed while some resource files are either updated or added. [CHANGELOG] 🟢 Added AA Projectile animation 🟢 Added AA Projectile model 🟢 Added AA Turret model 🟢 Added AA Projectile texture 🟢 Added AA Turret texture 🟢 Added MG Bullet to projectile tag's list 🟡 Updated several warning suppressors 🟡 Updated several parameters to now use the keyword "final" 🟡 Updated target goal selector instead of using the custom Prioritize Air Target goal class 🟡 Refactored the tick method of AA Turret to properly handle attacks 🟡 Updated Turret Entity class' `getRelativePos` method to now return the actual relative method instead of the added offsets 🟡 Updated code for interacting with turrets to now properly damage or reduce the count of the used item. 🟡 Updated AA Projectile to now use discard instead of remove method 🟡 Updated doDamage method to properly implement the failsafe without crashing the game 🔴 Removed the custom goals
Refactored the mod to be able to run for version 1.21 of the game. IDE is now switched to IntelliJ. [CHANGELOG] 🟢 Added an editor configurations. 🟢 Added GIT attributes file. 🟢 Added a new tag file to define all turrets as underwater breathable. 🟡 Updated GIT ignore file. 🟡 Updated Gradle build file to adapt for Java 21. 🟡 Updated Gradle properties to adopt latest versioning. 🟡 Updated Gradle settings. 🟡 Updated overall Gradle. 🟡 Updated License to CC0 1.0 Universal. 🟡 Updated Mixins for the mod. 🟡 Restructured the entire mod to adapt the good practice template of Fabric. 🟡 Updated the following classes to adopt 1.21 Fabric modding API: DefensiveMeasuresClient DefensiveMeasures TargetOtherTeamGoal TargetPlayerGoal ModEntities TurretMaterial CannonTurretEntity Itemable TurretEntity TurretRemoverItem ModItemGroups ModItems ModToolMaterials CannonBaseItem CannonHeadItem CannonStandItem CannonTurretItem UnfinishedCannonHeadItem TurretItem 🔴 Removed the following classes temporarily for a ground-up rework: ModCriterion TurretItemRetrievedCriterion ArrowheadBlock ModBlocks ModEntityRenderers NetworkPackets * All MG, Ballista, and AA Turret related classes and files. 🔴 Removed the following classes/files permanently(?): Vec3dUtil * All Anvil modification mixin files.
Refactored some packages from having plural names into singular. Furthermore, unused directories and files are removed. [CHANGELOG] 🟡 Renamed `com.virus5600.defensive_measures.entities` package into `.entity`. 🟡 Renamed `com.virus5600.defensive_measures.items` package into `.item`. 🟡 Updated some values in Gradle properties. 🔴 Removed mixins in fabric mod JSON file. 🔴 Removed the entire `src.client` package. 🔴 Removed unused Loom configurations in Gradle build.
Began implementing the visuals of the Cannon Turret. [CHANGELOG] 🟢 Added the model file for Cannon Turret 🟢 Added the renderer file for Cannon Turret
Added and updated some Javadoc. Also, some loggers are now updated and parameterized.
Re-implemented the Cannon Turret, allowing it to now exist in-game without crashing. However, the entity isn't animated yet and isn't shooting its designated projectile yet. TODO: Fix animations. [CHANGELOG] 🟢 Re-added the Client entry point for all the client side codes needed. 🟢 Re-added the Cannon Flash particle. (Not yet working). 🟢 Re-added the Cannon Fuse particle. (Not yet working). 🟢 Re-Added ModParticles class for registering and initializing particles from the mod. 🟢 Re-Added ModEntityRenderer class for registering and initializing mod entity renderers. 🟢 Re-Added ModCriterion class for registering and initializing mod criterions. 🟢 Re-Added the Turret Item Retrieved Criterion, which is used by the Turret Remover equipment. 🟢 Re-Added the overridden tick() method in the Cannon Turret class. 🟢 Re-Added the overridden interactMob() method in the Cannon Turret class to let the entity be disassembled and picked up as an item. 🟢 Temporarily added SPAWN_TURRET packet after re-adding the ModPackets class. 🟢 Re-Added all mod sound events via ModSoundEvents class. 🟡 Updated editor configuration file to let .yml and .yaml to use space instead of tabs for its indentation. 🟡 Updated the Yarn mappings for Minecraft source to 1.21+build.9. 🟡 Changed the allocated memory for Gradle back to 2GB max. 🟡 Moved Cannon Turret's model and renderer classes to the client side package. 🟡 Refactored all registry classes to now log something. 🟡 Updated the dimensions of Cannon Turrets to match their model size. 🟡 Updated Cannon Turret's shoot and heal sounds to now match the pre 1.21 rework. 🟡 Fully implemented the entire Itemable interface. 🟡 Refactored some codes from the pre 1.21 rework which crashes the game. 🟡 Updated some lines of codes to conform to the modern and good practice uses like in the iniDataTracker() method of TurretEntity. 🟡 Added a message shown to players when spawning a Turret via the item. Can be seen in TurretItem. ONLY FOR DEVELOPMENT. 🟡 Separated the client side code and server side code for creating, registering, and initializing particles. 🟡 Updated the animation file for Cannon Turret to conform to GeckoLib 4.5's format and syntax. 🟡 Updated the "barrel" locator for the Cannon Turret model. 🟡 Refactored custom tags to remove all blocks and entities that aren't re-added yet to prevent warnings from spamming the logs. 🔴 Temporarily removed all unneeded and unused animation assets. 🔴 Temporarily removed all unneeded and unused model assets.
Implemented the Look-at-Target animation for the Cannon Turret. [CHANGELOG] 🟢 Added setCustomAnimation method to Cannon Turret's model class. 🟢 Added custom eye height for Cannon Turret. 🟢 Added a trigger animation for when the Cannon Turret shoots (WIP). 🟢 Added a default or base tick method for Turret Entities. 🟢 Added isCollidable and isPushable methods for base Turret Entity class. 🟡 Updated getEntityItem return value. 🟡 Updated heal sound for Cannon Turret. 🟡 Moved the Projectile entity instance from outside the target conditional statement to inside to prevent it from running when not needed in Turret Entity class. 🔴 Removed the custom debug message when using the Turret Item.
Updated the formula used in getting the global coordinates in the `getRelativePos` method. Furthermore, began updating the Firing Sequence animation codes to properly display the particles. [CHANGELOG] 🟢 Added a trigger for the charging animation of the Firing Sequence animation. 🟡 Updated the `getRelativePos` formula for getting the global position based on rotation with offsets. 🟡 Refactored the particle keyframe handler for the Firing Sequence Controller.
Update Cannon Turret to now show particle (WIP). [CHANGELOG] 🟢 Added a required constructor parameter for the Turret Entity for handling Turret Remover interaction for all its subclasses. 🟡 Updated EoL formatting from LR to CRLF. 🟡 Renamed client's 'ModParticles' class to 'ModClientParticles'. 🟡 Moved the Turret Removed item interaction handler from the subclass (Cannon Turret) to the base class (Turret Entity). 🟡 Updated particle keyframe handler for the "Firing Sequence" controller. 🟡 Updated the LOGS constant for Turret Entity class to include all the stripped variants. 🔴 Removed unused imports. 🔴 Removed the "interactMob" method in the Cannon Turret in favor of requiring it to the Turret Entity base class's constructor's parameter.
Remapped codes to 1.21.3. Remapped codes will be implemented in the next commit after this. It could be a partial remapping implementation due to time constraints and other priorities. [CHANGELOG] 🟢 New remapped source classes are created inside "remappedSrc" directory. 🟡 Updated Fabric Loom version from 1.7 to 1.9 which requires at least Gradle 8.11. 🟡 Updated minimum Minecraft version to 1.21.3. 🟡 Updated mappings to 1.21.3+build.2. 🟡 Updated Fabric Loader version to 0.16.9. 🟡 Updated Fabric dependency version to 0.110.0+1.21.3. 🟡 Updated GeckoLib to version 4.7.1, 🟡 Updated Graddle wrapper to 8.11.
Implemented the mapping migrations for the source files. [CHANGELOG] 🟢 Added Turret Remover repair ingredients tag. 🟢 🟡 Updated Gradle to 8.11. 🟡 Made healables and effect sources protected in Cannon Turret entity class. 🟡 Updated codes of Turret Entity to the newly mapped source files. 🟡 Updated codes of Turret Remover item class to the newly mapped source files. 🟡 Updated codes of Tool Materials enum to the newly mapped source files. 🟡 Temporarily commented out fuel registries. 🟡 Updated codes of Turret Item class to the newly mapped source files. 🔴 Removed remapped files.
Updated the flow of item registration, allowing the developer to potentially handle future changes if necessary without dirtying the ModItems class. [CHANGELOG] 🟢 Added a reference link for later registration changes to other stuff. 🟢 Created a new interface for fuelable items. 🟢 Created the Registry Utility class under utility package for handling all types of registrations. 🟢 Added a new entry to the English lang file for the newly added tooltip for Cannon Turret Item. 🟡 Updated Cannon Turret override methods to match its parent methods. 🟡 Updated several inline functions to a simplified lambda expressions. 🟡 Updated entity builder's build method. 🟡 Updated entity attributes constants. 🟡 Updated all action result success and pass to its updated constant counterpart after the methods got deprecated and removed. 🟡 Updated maps and list to contain proper type declaration. 🟡 Updated Turret Remover constructor to properly match the new API. 🟡 Refactored the way items get registered. 🟡 Updated the Cannon Stand item to implement the newly created interface for fuel items. 🟡 Updated Cannon Turret item to now have its stats displayed as part of the tooltip. 🔴 Removed redundant type casting in Turret Item base class. 🔴 Removed deprecated methods in Item Utility class.
Fixed the item registration for standard items such as the cannon base and turret remover. Furthermore, fixed the relative position getter from the Turret Entity base class and began updating the particle issues. [CHANGELOG] 🟢 Added a TODO to the Cannon Flash particle. 🟢 Added the relative position of the barrel and fuse for the Cannon Turret entity. 🟡 Updated some maps and lists in the Cannon Turret entity to a simplified declaration. 🟡 Refactored the Cannon Turret entity class to adapt to the changes made after the removal of some tracked data. 🟡 Fixed the standard item registration. 🟡 Updated tooltip for the Cannon Turret item to just loop instead after changes made to the tooltip line. 🟡 Separated the tooltip line for the Cannon Turret item into three lines to prevent an unknown symbol from appearing in-game. 🟡 Updated the overloaded "registerItem" method to now required a a factory instead of just the string. 🔴 Removed some tracked data in the base Turret Entity class.
Finally implemented a fully working Cannon Turret (without its projectile - Cannonball). [CHANGELOG] 🟢 Added a base particle emitter class called "CustomEmitter" which provides a base for all emitter type particles such as the Cannon Flash. 🟢 Created a copy of the Projectile Attack Goal class but with an added flexibility of knowing when the entity is shooting or not. 🟡 Renamed CannonFlash into Sparks. 🟡 Updated Cannon Turret's renderer class to prevent the entity from using the standard death rotation animation upon death. 🟡 Updated the Cannon Turret entity class to now minimize usage of other unnecessary and redundant fields, along with its particle keyframe fix and animation fix. 🟡 Moved all RawAnimation instances into a Map for easier access and for reusability (Cannon Turret Entity). 🟡 Updated the value of the "@author" in all class and interface documentation to a link to my GitHub. 🟡 Shortened the animation length of Cannon Fuse to allow the particle's position to immediately update when the Cannon Turret swung its barrel. 🟡 Renamed the particle JSON file of Cannon Flash from "cannon_flash" to "sparks". 🔴 Removed some processes in the Sparks (formerly known as Cannon Flash) and moved it somewhere else. 🔴 Removed all unneeded and redundant data in Turret Entity base entity class.
Implemented the entirety of Cannon Turret, along with its projectile, sounds, animations, and effects. [CHANGELOG] 🟢 Added the Cannonball Model class. 🟢 Added the Cannonball Renderer class. 🟢 Added the Cannonball Entity class. 🟢 Added entity registry methods in the Registry Utility class. 🟢 Added Cannonball resources (model and texture). 🟢 Added bullet impacting metal sound files. 🟢 Added bullet impacting wood sound files. 🟢 Added metal repair sound files. 🟡 Updated the projectile of Cannon Turret entity. 🟡 Updated sound ID of "Turret Metal Repair" from "turret.repair.iron" to "turret.repair.metal". 🟡 Fixed typo for the Arrowhead death message. 🟡 Updated item tooltip regarding Cannon Turret item's range from 20 to 16, matching the real range of the turret entity. 🟡 Updated sounds.json to properly reflect changes done to the sound lists. 🟡 Renamed the bullet impacting dirt sounds to start from 1 instead of 3. 🟡 Updated cannonball texture to have transparent background instead of black. 🔴 Removed the TODO in the Cannon Turret Model class.
* Update 20241230 - Actions Update Attempt to update GitHub CI. [CHANGELOG] 🟢 Added Fabric CI action under fabric.yml. 🟡 Updated the editor configuration file. 🟡 Updated the Build Check action for readability and to update the "capture build artifacts" step. 🟡 Updated README. 🔴 Removed Gradle Error Checker action by removing the error_action.yml file. * Update fabric.yml * Update README.md * Update README.md * Update README.md * Update fabric.yml * Update 20241230 - Actions Rework Reworked the actions after the last fabric action used was outdated by 4 years. * Update fabric.yml * Update 20241230 - Actions Rework * Update 20241230 - Actions Rework * Update 20241230 - Actions Rework * Update 20241230 - Actions Rework * Update prep.yml * Update 20241230 - Actions Rework * Refactor 20241230 - Composite Refactor Refactored the composite action for the workflow. * Update action.yml * Update action.yml * Update action.yml * Hotfix 20241230 - Quick Action Hotfix * Update fabric.yml * Update fabric.yml * Update fabric.yml * Update fabric.yml * Update fabric.yml * Fix Attempt 20241230 - Action Fix Attempt * Update action.yml * Fix Attempt 20241230 - Action Fix Attempt (1) * Fix Attempt 20241230 - Action Fix Attempt (2) * Fix Attempt 20241230 - Action Fix Attempt (3) * Fix Attempt 20241230 - Action Fix Attempt (4) * Fix Attempt 20241230 - Action Fix Attempt (5) * Fix Attempt 20241230 - Action Fix Attempt (6) * Fix Attempt 20241230 - Action Fix Attempt (7) * Fix Attempt 20241230 - Action Fix Attempt (8) * Potential Fix 20241230 - Potential FIx to GHA Potential fix for the perpetual failing GitHub Actions implementation since yesterday. PS: HALP! 助けて! Tulong! 帮助! Pomoc! 俺は losing my utak! * Potential Fix 20241230 - Potential FIx to GHA (2) * Hotfix 20241230 - Typo Fix * Potential Fix 20241230 - Potential Fix to GHA (3) * Potential Fix 20241230 - Potential Fix to GHA (4) * Potential Fix 20241230 - Potential Fix to GHA (5) * Potential Fix 20241230 - Potential Fix to GHA (6)
Finally (re-)implemented the Ballista Arrow with proper projectile animation. However, the projectile is yet to penetrate entities it hit. [CHANGELOG] 🟢 Added Ballista Arrow files, which includes the model files, animation file, renderer class, and entity definition class. 🟡 Updated the fabric workflow to now only use Ubuntu, removing the windows server. 🟡 Updated Ballista Arrow projectile's registration code. 🔴 Removed the unused "shooter" private variable in the Cannonball entity definition class.
Added a funding option to support my development. NOTE: This is completely optional and as a thanks or for coffee (no e-drinks. Might die early, lmao).
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Updating old code base to latest.
Contains code refactorization from 1.19.2 to 1.21.3, removing some implemented features such as the Ballista Turret, MG Turret and MG Bullet, AA Turret, AA Bullet, and Arrowhead.
See changelog for complete list of changes.