1.20.1 conduit probe #872

Merged
ghost merged 19 commits from 1.20.1-conduit-probe into dev/1.20.1 2024-12-09 18:19:36 +00:00
ghost commented 2024-10-28 08:50:03 +00:00 (Migrated from github.com)

Description

Added the conduit probe for 1.20.1, this is the start of a pr handling #810.

The item is implemented in the conduits namespace since without conduits it has no use and to avoid unnecessary dependencies.

When the player uses the item on a conduit bundle block I estimate the correct face to interact with by the offset from the block center since the block faces aren't assigned correctly in the context.
if the item mode is copy-paste:

  1. in case the player is crouching the connection info is copied from every conduit type in the bundle and assigned to the nbt data of the probe itemstack.
    If a side with no active conduits is copied when pasted it will remove all connections.
    Any missing conduit from the copied block will effectively be considered disconnected, when pasted on a block with the conduit connection active, it will disable it.
  2. otherwise the nbt data from the itemstack will be used to assign the connection info of every conduit in the bundle.

if the item mode is probe it currently does nothing.

While the probe is held there is an overlay element to the bottom right of the screen that changes based on the probe state (probe/copy-paste).

TODO

  • Conduit copy-paste
  • Old school mode based hud overlay
  • Energy conduit details in probe mode (not likely in 1.20.1 due to conduits being buggy)
  • Item transport simulation in probe mode (not likely in 1.20.1)
  • Port to 1.21.1

Breaking Changes

None.

Checklist

  • My code follows the style guidelines of this project (.editorconfig, most IDEs will use this for you).
  • I have made corresponding changes to the documentation.
  • My changes are ready for review from a contributor.
# Description Added the conduit probe for 1.20.1, this is the start of a pr handling #810. The item is implemented in the conduits namespace since without conduits it has no use and to avoid unnecessary dependencies. When the player uses the item on a conduit bundle block I estimate the correct face to interact with by the offset from the block center since the block faces aren't assigned correctly in the context. if the item mode is copy-paste: 1) in case the player is crouching the connection info is copied from every conduit type in the bundle and assigned to the nbt data of the probe itemstack. If a side with no active conduits is copied when pasted it will remove all connections. Any missing conduit from the copied block will effectively be considered disconnected, when pasted on a block with the conduit connection active, it will disable it. 2) otherwise the nbt data from the itemstack will be used to assign the connection info of every conduit in the bundle. if the item mode is probe it currently does nothing. While the probe is held there is an overlay element to the bottom right of the screen that changes based on the probe state (probe/copy-paste). <!-- If you're submitting a Draft PR, consider providing a TODO list using checkboxes --> # TODO - [x] Conduit copy-paste - [x] Old school mode based hud overlay - [ ] Energy conduit details in probe mode (not likely in 1.20.1 due to conduits being buggy) - [ ] Item transport simulation in probe mode (not likely in 1.20.1) - [ ] Port to 1.21.1 # Breaking Changes None. <!-- For drafts, fill this in as you go; if you are leaving draft, make sure these are all complete. --> # Checklist - [x] My code follows the style guidelines of this project (.editorconfig, most IDEs will use this for you). - [ ] I have made corresponding changes to the documentation. - [x] My changes are ready for review from a contributor. <!-- Thanks to: https://embeddedartistry.com/blog/2017/08/04/a-github-pull-request-template-for-your-projects/ for the building blocks of this template -->
Rover656 (Migrated from github.com) reviewed 2024-10-29 21:23:04 +00:00
@ -0,0 +1,162 @@
package com.enderio.conduits.common.items;
Rover656 (Migrated from github.com) commented 2024-10-29 21:23:04 +00:00

State's should be stored in item NBT (in 1.20) or components (1.21), otherwise this setting is global to all of this item in the game instance.

State's should be stored in item NBT (in 1.20) or components (1.21), otherwise this setting is global to all of this item in the game instance.
@ -0,0 +1,162 @@
package com.enderio.conduits.common.items;

ok, should be fixed now

ok, should be fixed now
omergunr100 commented 2024-11-04 19:40:59 +00:00 (Migrated from github.com)

I can't edit the original pr description because I merged my github accounts, but this pr is ready to be reviewed, the energy probe probably won't be implemented on 1.20.1 because of how conduits work.

I can't edit the original pr description because I merged my github accounts, but this pr is ready to be reviewed, the energy probe probably won't be implemented on 1.20.1 because of how conduits work.
devpanda0 commented 2024-12-07 14:47:05 +00:00 (Migrated from github.com)

Hey, please add the Conduit Prope. That would be a blessing.

Otherwise a huge +rep that you continue to make Enderio

Hey, please add the Conduit Prope. That would be a blessing. Otherwise a huge +rep that you continue to make Enderio
Rover656 (Migrated from github.com) approved these changes 2024-12-09 18:18:35 +00:00
Rover656 (Migrated from github.com) left a comment

Just pushed some minor cosmetic changes, but looking good to go. Thanks both for your work and your patience!

Just pushed some minor cosmetic changes, but looking good to go. Thanks both for your work and your patience!
Rover656 commented 2024-12-09 18:19:19 +00:00 (Migrated from github.com)

Okay it won't let me push up which it normally does - I'll apply the changes after merge

Okay it won't let me push up which it normally does - I'll apply the changes after merge
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Team-EnderIO/EnderIO#872
No description provided.