-
Notifications
You must be signed in to change notification settings - Fork 18
Enhance Building with Packetmine and more finegrained material control #107
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
Closed
Closed
Changes from 250 commits
Commits
Show all changes
397 commits
Select commit
Hold shift + click to select a range
e5ac786
Fix merge issues
Avanatiker 7b99509
rotations fix for placements
beanbag44 bbdbd4d
Merge remote-tracking branch 'origin/feature/packetmine-rewrite' into…
beanbag44 aa57f9b
Remove "smart" pathing for now
Avanatiker ada6fa2
Revert "rotations fix for placements"
beanbag44 d7cd202
use receive instead of send for PlayerPositionLookS2CPacket reset
beanbag44 c59b824
fix small BreakManager oversight
beanbag44 b267a79
rotations fix!!!
beanbag44 38a5fc0
previous rotation direction checks in build sim
beanbag44 67c6f26
add todo in PlaceContext
beanbag44 e7c7990
rotations for instant breakable blocks
beanbag44 8ebfb17
currentDirIsInvalid check before calculating axis rotation
beanbag44 d3eda36
use players rotation first rather than current rotation
beanbag44 2ec256d
use current rotation rather than player rotation when checking the va…
beanbag44 ad9b456
fix rotations being reset causing incorrect placements
beanbag44 3df3485
cleaned up some code
emyfops bc883f8
return foreach instead of run and remove context sorting from the man…
beanbag44 f398a32
Use event tick stages
emyfops 8a0cb5b
got something working ish but i hate it in many, many ways
beanbag44 e9db1aa
locks to yaw boundaries however pitch is still hard coded to 90, 0, -90
beanbag44 a358fca
Merge remote-tracking branch 'origin/feature/packetmine-rewrite' into…
beanbag44 93c5831
test players rotation before simulating axis rotations
beanbag44 240533e
cancel on tick post if not updated
beanbag44 d1d6568
fixed tick delay on break manager requests in PacketMine
beanbag44 7c8f3f3
Added inversed rotation method with unit tests
Avanatiker 4492a04
start to re break implementation. Need to fix issue with managers cal…
beanbag44 0aeaece
Merge remote-tracking branch 'origin/feature/packetmine-rewrite' into…
beanbag44 49a5965
Fix package structure
Avanatiker 03ba095
Use correct unit tests and fix algo
Avanatiker df00a6d
Merge remote-tracking branch 'origin/feature/packetmine-rewrite' into…
beanbag44 8221847
More extensive tests, removed up and down
Avanatiker 1443cb5
manual rebreak touch ups and manager stage priority
beanbag44 68c8eec
Merge remote-tracking branch 'origin/feature/packetmine-rewrite' into…
beanbag44 c946eca
disallow vanilla instant breakables from re-break and cleanup
beanbag44 182485e
failing edge case unit test for PlaceDirection
beanbag44 5bd4985
input post event for updating break manager from packetmine module if…
beanbag44 64206d5
cancel break at the end of the tick if not updated
beanbag44 38a86e5
Maybe fix for snapToArea
Avanatiker c97d0cd
Merge remote-tracking branch 'origin/feature/packetmine-rewrite' into…
beanbag44 2e35391
PlaceDirection todo
beanbag44 5f7a85f
more PlaceDirection tests
beanbag44 a5096a2
better re-break setting and updatedThisTick check
beanbag44 50ae6d7
check updatedThisTick over activeAge
beanbag44 a018c9e
removed needless comma 🧌
beanbag44 4db79c6
automatic re-break
beanbag44 f878a53
ignore block updates / item drops in break manager if they match the …
beanbag44 d847675
call cancel callback if break times out
beanbag44 77101de
call onAccept if continued mining from rebreak
beanbag44 e0a95b2
packemine refactor and rebreak fixes
beanbag44 06c6a1b
Merge branch 'master' into feature/packetmine-rewrite
beanbag44 0aa3806
removed empty space at the top of the file
beanbag44 c930981
packetmine onDisable
beanbag44 c56cf10
Merge branch 'master' into feature/packetmine-rewrite
emyfops 0f15b30
Generic events
emyfops ae3ae44
dont rotate for break by default
beanbag44 800cd68
reBreakMode in packetmine rather than break config
beanbag44 2faee16
Merge remote-tracking branch 'origin/feature/packetmine-rewrite' into…
beanbag44 439e414
correct config checks in packetmine
beanbag44 5de8935
cleaner configs idea
beanbag44 7f7040c
Revert "cleaner configs idea"
beanbag44 ab4917b
Removed TickStage in favor of TickEvent
emyfops f651714
reverted PlaceDirection back to cardinal snaps rather than area for now
beanbag44 99b40c9
Merge remote-tracking branch 'origin/feature/packetmine-rewrite' into…
beanbag44 7e820d4
fix oversight in PlaceDirection revert
beanbag44 dcd8a13
Merge branch 'master' into feature/packetmine-rewrite
beanbag44 adc8a42
removed outdated todo
beanbag44 61af38e
allow breaking with any tool with a setting for suitable only
beanbag44 d309ca1
queue and refactors
beanbag44 ef54193
queue sort setting
beanbag44 eb5e2f7
Merge branch 'master' into feature/packetmine-rewrite
beanbag44 f26320b
prevent blocking double break in the event the current secondary is p…
beanbag44 aa8f794
formatting
beanbag44 1938a2f
call cancelBreak instead of just sending an abort when overriding a p…
beanbag44 2683c5b
update breaks regardless if active request is null or not and return …
beanbag44 e07c829
added break radius for breaking a larger area at once with a single c…
beanbag44 22abb0f
include the hit pos in the positions for break radius > 0
beanbag44 11147d2
decoupled grouped area breaks and queue sorting
beanbag44 1b60759
fixed instability issue at slower rotation speeds when using a higher…
beanbag44 cd1231d
switched back to LinkedList from LinkedHashMap
beanbag44 6715b8b
switched back to LinkedList from LinkedHashSet
beanbag44 40ba329
Merge remote-tracking branch 'origin/feature/packetmine-rewrite' into…
beanbag44 6689f03
use active rotation for movement calculations as server rotation is o…
beanbag44 b6e7131
check breakCooldown before start breaking
beanbag44 d58efae
vanilla minecraft uses 6 tick break delay, adjusted the setting accor…
beanbag44 1288503
repeat the accept and start break cycle in case blocks are broken and…
beanbag44 f396c1e
add double break fudge factor setting
beanbag44 d586e2a
isSecondary or isRedundant
beanbag44 e47a99f
corrected hotbar keep ticks timing
beanbag44 d9408e3
aligned keep ticks timings
beanbag44 3166c0c
*almost* complete silent swap with double break and fixed listener i …
beanbag44 43f85c4
enable min swap ticks 1 tick before the block is considered expected …
beanbag44 bed22da
use calcItemBlockBreakingProgress when checking min keep ticks and sl…
beanbag44 56844cf
Merge branch 'master' into feature/packetmine-rewrite
beanbag44 61d6528
inventory manager start :doom:, and cleanup. Also moved the onStart c…
beanbag44 cd0cd7f
added todo
beanbag44 01df8aa
Revert "added todo"
beanbag44 7e5bcf6
Revert "inventory manager start :doom:, and cleanup. Also moved the o…
beanbag44 e1760ba
data objects for update manager events, moved on start callback above…
beanbag44 647cd42
forgot to remove settings in inventory settings
beanbag44 5a8588b
call onStop when the server breaks the block before the client too
beanbag44 f8371e3
avoid liquids setting
beanbag44 40f56ab
decouple fudge factor from double break to prevent desync when the di…
beanbag44 26b2d68
apply fudge factor to all breaks
beanbag44 f12aab3
moved manager utils into companion object in reuqest handler
beanbag44 36e0057
Revert "moved manager utils into companion object in reuqest handler"
beanbag44 df89d64
Update FastBreak.kt
emyfops 023d6e6
Merge branch '1.21.5' into feature/packetmine-rewrite
emyfops 6a51aca
make fudge factor affect everything
beanbag44 52428ee
looser redundant break handling when considered broken
beanbag44 6d40644
use isEmpty over isAir to account for waterloggable blocks
beanbag44 339f00d
better input sanitizing in break manager
beanbag44 95fbfcc
removed unnecessary todos
beanbag44 0c021c6
added break renders, currently only static however, so render at 20 fps
beanbag44 a6737f5
more specific break timeout warnings
beanbag44 a491145
build outlines for queued blocks
beanbag44 f3b4776
break request dsl builder
beanbag44 5fd5a05
arraylist over linkedlist to avoid excessive collection copying
beanbag44 341acb7
fixed issues with break radius / queue. Added onUpdate callback for b…
beanbag44 295d0f0
added desyncFix setting, although its functionality is broken until p…
beanbag44 bb4f6cb
baritone selection mode in nuker because i needed it
beanbag44 2c65434
added dsl for pre-processing info and expanded the pre-processors; re…
beanbag44 3feb026
simple module for printing every property coupled with every state im…
beanbag44 10bd793
added property ignores and more pre-processors
beanbag44 2ab4142
initial post-processing logic and interaction manager. Only has two h…
beanbag44 6d1ef93
build sim function signature cleanup and proper interaction related n…
beanbag44 ffd345f
use isEmpty and isNotEmpty over isAir
beanbag44 57570c0
use scan modes based on the block position rather than relative box d…
beanbag44 e325869
use the players regular position when simulating placements
beanbag44 2585445
cleaned up and removed essentially redundant context values
beanbag44 7dd5283
more cleanup
beanbag44 79799aa
remove problematic return if current dir was valid
beanbag44 14c8cd1
more cleanup
beanbag44 25c3b8d
move checkPostProcessResults invoke to the simulate function
beanbag44 3c6694f
inline checkPlaceOn as it's not suitable for slabs and potentially ot…
beanbag44 624e9ca
unused param
beanbag44 f1776a5
use direction entries rather than empty set for default PreProcessing…
beanbag44 dc7a2bf
filter interactions that collide with current pending interactions
beanbag44 d0d6452
update breaking on tick event input pre by default to please grim and…
beanbag44 bc54d80
await item instead of failing
beanbag44 0ecb949
check all other position blocking managers when accepting action requ…
beanbag44 2918f96
fix point selection optimum mode. Was calculating average vector hit …
beanbag44 c269194
null check on hit positions
beanbag44 140a17f
treat double slab placements like actual placements rather than inter…
beanbag44 fcc8860
allow use of the rest of the hotbar for placing
beanbag44 7e804e3
small cleanup
beanbag44 48cb6bf
OCD
Avanatiker 46405bc
naming convention
beanbag44 df00f71
"WorldColors" as opposed to "World Colors"
beanbag44 1b253dd
AntiAim module and wrapping rotations
beanbag44 af1b01f
activeRotation over serverRotation for renders, and removed excess in…
beanbag44 1679832
interpolate between serverRotation and activeRotation, rather than pr…
beanbag44 e1ab355
use kotlin random
beanbag44 a5fd6f3
fix rotation render accuracy and potentially other issues
beanbag44 248c690
removed unused priority
beanbag44 69d3616
small nuker changes
beanbag44 fa9a42c
dont ignore break contexts that could potentially update current brea…
beanbag44 441a581
pages for break settings
beanbag44 196c979
brighter default render colours
beanbag44 e82bb80
post-processing property checks on break manager block updates and ad…
beanbag44 4800ed2
default fudgeFactor to 1
beanbag44 5a2cf1f
check by not null count in PacketMine and account for multiple differ…
beanbag44 b4a0e13
disable finishOnDone for nuker
beanbag44 97c60d2
check break cooldown before accepting contexts and set cooldown if no…
beanbag44 1f63a8b
fixe for when unsafe cancels is disabled, and improvements for revivi…
beanbag44 afee12a
use max value for tick pre in break manager to get ahead of the reque…
beanbag44 b05a988
isAir check in updateBreakProgress to account for unloaded chunks and…
beanbag44 941b822
inlined usages of internalOnCancel
beanbag44 280e92e
missed an internalOnCancel
beanbag44 943d942
ActionInfo interface and PostActionHandler class to reduce duplicate …
beanbag44 f492c5a
fixed config variable in Request
beanbag44 d7a1715
linear renders accounting for fudge factor
beanbag44 c3ade02
dont call onCancel when abandoning as the break isnt actually cancell…
beanbag44 7b0c246
was dumb and didnt fix renders the way i thought i did. Also only res…
beanbag44 165de50
swing hand type setting for interactions
beanbag44 fe14b56
omit top half DOUBLE_BLOCK_HALF property holders
beanbag44 837f5a9
separated interact settings into their own page in the build config a…
beanbag44 e0c55e7
start to an inventory manager
beanbag44 bb99955
instant client sided changes for swapping hand stacks
beanbag44 ff6b87b
better avoidLiquids logic
beanbag44 de62f07
fixed disposables logic. Was using >= 0 rather than > 0
beanbag44 e19e5af
fillFluids setting in nuker and better fluid removal logic in build s…
beanbag44 48db547
fix supporting block checks? And add setting to toggle it
beanbag44 40022f9
comment out desyncFix for now as its broken and wont be fixed for a w…
beanbag44 0a6e7de
sorter setting for breaks
beanbag44 9483f60
stage checks when cancelling block breaks
beanbag44 01a095f
removed abort break packet usage entirely as it doesnt really do anyt…
beanbag44 ae73453
Merge branch 'master' into feature/packetmine-rewrite
beanbag44 b5bc2b4
RequestConfig refactor and submitting from the request itself rather …
beanbag44 441d4b9
secondary request submit function for usage diversity
beanbag44 1b70a1a
remove priority typealias
beanbag44 771469d
consistent confirmation checks for block updates in the managers
beanbag44 52843b6
equality check over elvis
beanbag44 2427e33
nest the BreakRequestBuilder annotation class
beanbag44 56a2abf
decrement item stack even if awaiting before client placement
beanbag44 c663685
Merge branch 'master' into feature/packetmine-rewrite
beanbag44 e5d64c4
compile time fixes
beanbag44 b02a452
undo small "fix" i made because it wasnt broken to begin with and i b…
beanbag44 3b445f2
improve block update checks in managers
beanbag44 b5d57bb
override load function over init
beanbag44 2da4cef
make manager swing hand more consistent with the view model no swing …
beanbag44 5e266e3
update cancels on each stage close with mask checks
beanbag44 7928d32
remove input pre break stage mask from defaults
beanbag44 41f69ef
tick stage check and abort packet when cancelling primary breaks
beanbag44 a0cca20
use break manager for fast break
beanbag44 314409f
show interpolated renders between current and predicted next tick pro…
beanbag44 05afa47
check entity before setting pitch lol
beanbag44 0d57201
use sequences in the breakContexts function to limit collection creat…
beanbag44 bacff64
break settings re-order
beanbag44 f471659
ignore break attempts at already secondary breaking blocks
beanbag44 157e466
add closest option for queue and render the order colours using the s…
beanbag44 5bc4afd
use main hand stack if nothing else is faster rather than first hotba…
beanbag44 a5dc330
fix impossible failure and use the accurate wrong stack result
beanbag44 a9663e8
cleanup on tick pre in the post action handlers
beanbag44 7f78b68
only place shulkers on our y level until we can check where we can pa…
beanbag44 c28e38b
use ticking blueprints for placing containers
beanbag44 ae45467
pending interaction checks in PlaceContainer
beanbag44 674db53
remove input pre in default hotbar stage mask setting
beanbag44 e463725
selection and speed checks rather than slot comparison for new breaks
beanbag44 2f28e0a
generally prefer primary breaks item stack for usage, but secondary f…
beanbag44 7ac8925
more details in break info warnings and allow any block as long as it…
beanbag44 3515c29
redundancy improvements
beanbag44 4b6f410
subject currently held item to the same scrutiny as other items
beanbag44 37786be
swap mode setting
beanbag44 d6601c4
rebreak adjustments
beanbag44 232c217
move re break checks to the processRequest function and decouple chec…
beanbag44 98561c2
use updatableLazy
beanbag44 d8de058
fluid check to prevent placing when not necessary
beanbag44 49d6e9f
use main hand stack for render progress when swap mode is set to star…
beanbag44 445f360
move rebreak logic into startBreaking function to account for instant…
beanbag44 be7fd72
Merge branch 'feature/packetmine-rewrite' of https://github.com/Avana…
emyfops b55cade
My changes from a long time ago
emyfops 19d0cc7
Merge branch '1.21.5' into feature/packetmine-rewrite
emyfops 2dad5ca
changes
emyfops 5d060fb
cap texture overlay progress at 9
beanbag44 84f1513
tick stage check in shouldSwap
beanbag44 7a102e9
move shouldProgress into its own variable for use in swap checks
beanbag44 9df5ac4
almost working block break speed. Might need to rework the hotbar man…
beanbag44 eedafd9
add FixMe's to HotbarManager and EnchantmentUtils
beanbag44 c2f2ec1
player.mainHandStack and, in theory, all other references to the play…
beanbag44 6bf0c26
removed FixMe
beanbag44 1285ae0
only snap to area if the players current rotation isn't in the desire…
beanbag44 10bf9cd
Fixed enchantment functions
emyfops 52b051a
no silent swapping for primary breaks
beanbag44 ab92486
default fudge factor to 2
beanbag44 30e1beb
efficiency check for minKeepTicks
beanbag44 8c3324d
fix nuker
beanbag44 3253c5c
fix conflicts
beanbag44 46df050
Merge branch '1.21.5' into feature/packetmine-rewrite
Avanatiker adfbb46
more goofy not working fixes
beanbag44 8734884
Fixed grouping
Avanatiker File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
55 changes: 55 additions & 0 deletions
55
common/src/main/kotlin/com/lambda/config/groups/BreakSettings.kt
This file contains hidden or 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
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1,55 @@ | ||||||
| /* | ||||||
| * Copyright 2025 Lambda | ||||||
| * | ||||||
| * This program is free software: you can redistribute it and/or modify | ||||||
| * it under the terms of the GNU General Public License as published by | ||||||
| * the Free Software Foundation, either version 3 of the License, or | ||||||
| * (at your option) any later version. | ||||||
| * | ||||||
| * This program is distributed in the hope that it will be useful, | ||||||
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||||||
| * GNU General Public License for more details. | ||||||
| * | ||||||
| * You should have received a copy of the GNU General Public License | ||||||
| * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||||||
| */ | ||||||
|
|
||||||
| package com.lambda.config.groups | ||||||
|
|
||||||
| import com.lambda.config.Configurable | ||||||
| import com.lambda.event.events.TickEvent | ||||||
| import com.lambda.interaction.request.Priority | ||||||
| import com.lambda.interaction.request.breaking.BreakConfig | ||||||
| import com.lambda.util.BlockUtils.allSigns | ||||||
|
|
||||||
| class BreakSettings( | ||||||
| c: Configurable, | ||||||
| priority: Priority = 0, | ||||||
| vis: () -> Boolean = { true } | ||||||
| ) : BreakConfig(priority) { | ||||||
| override val breakMode by c.setting("Break Mode", BreakMode.Packet, visibility = vis) | ||||||
| override val reBreak by c.setting("ReBreak", true, "Re-breaks blocks after they've been broken once", visibility = vis) | ||||||
| override val unsafeCancels by c.setting("Unsafe Cancels", true, "Allows cancelling block breaking even if the server might continue breaking sever side, potentially causing unexpected state changes", visibility = vis) | ||||||
|
||||||
| override val unsafeCancels by c.setting("Unsafe Cancels", true, "Allows cancelling block breaking even if the server might continue breaking sever side, potentially causing unexpected state changes", visibility = vis) | |
| override val unsafeCancels by c.setting("Unsafe Cancels", true, "Allows cancelling block breaking even if the server might continue breaking server side, potentially causing unexpected state changes", visibility = vis) |
This file contains hidden or 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
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.