-
-
Notifications
You must be signed in to change notification settings - Fork 6
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
Colossal Chests / Integrated Dynamics / Silent Gear compatibility issue #130
Comments
Thanks for reporting! |
Does this problem also occur when storing that item in a regular chest, and connecting that up to an ID network? For reference, sounds related to CyclopsMC/IntegratedCrafting#17 |
Just checked - yes Here is minimal list of mods I used to reproduce: CommonCapabilities-1.21.1-neoforge-2.9.5.jar |
Hi @SilentChaos512 👋, I'm looking into this ID-SilentGear compat issue, and it looks like the root cause is items not matching. Concretely, if the player wants to extract an item from the terminal, a packet is sent to the server, which contains the item to be extracted (serialized using the normal Below, I have a screenshot that shows this difference: I suspect that the |
Both the base_properties and bonus_properties are network serialized, but not persistent. That could be the problem. |
Thanks for the input @SilentChaos512! I've done some more digging, and it looks like my code is failing on an equality check on two I've looked at the implementation of |
I will update |
Thanks @SilentChaos512! |
@SilentChaos512 The However, there |
Cool, I'll get those addressed in the next update! Thank you for taking the
time to debug this and work with me.
…On Fri, Oct 25, 2024, 09:27 Ruben Taelman ***@***.***> wrote:
@SilentChaos512 <https://github.com/SilentChaos512> The
GearConstructionData now apears to be comparing correctly on my end.
However, there silentgear:properties seems to be another data components
that has a missing equals and hashCode implementation, with
GearPropertyValue and GearProperty (and classes such as
NumberPropertyValue and NumberProperty).
I suspect this to be the only remaining one, because if I manually skip it
from comparison, the bug described in this issue goes away.
—
Reply to this email directly, view it on GitHub
<#130 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABLU6XL5WTHPHKSP6N6LEODZ5JILTAVCNFSM6AAAAABQDYRF2KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMZXHE3DSMJQGI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Thanks @SilentChaos512! Note to self, I thought this change was necessary, but this was not the case in hindsight: diff --git a/src/main/java/org/cyclops/commoncapabilities/ingredient/DataComparator.java b/src/main/java/org/cyclops/commoncapabilities/ingredient/DataComparator.java
index b36f4870..3224197c 100644
--- a/src/main/java/org/cyclops/commoncapabilities/ingredient/DataComparator.java
+++ b/src/main/java/org/cyclops/commoncapabilities/ingredient/DataComparator.java
@@ -43,8 +43,8 @@ public class DataComparator implements Comparator<DataComponentMap> {
Set<DataComponentType<?>> k1 = o1.keySet();
Set<DataComponentType<?>> k2 = o2.keySet();
if (ignoreDataComponentTypes != null) {
- k1 = k1.stream().filter(k -> !ignoreDataComponentTypes.contains(BuiltInRegistries.DATA_COMPONENT_TYPE.getKey(k))).collect(Collectors.toSet());
- k2 = k2.stream().filter(k -> !ignoreDataComponentTypes.contains(BuiltInRegistries.DATA_COMPONENT_TYPE.getKey(k))).collect(Collectors.toSet());
+ k1 = k1.stream().filter(k -> !k.isTransient() && !ignoreDataComponentTypes.contains(BuiltInRegistries.DATA_COMPONENT_TYPE.getKey(k))).collect(Collectors.toSet());
+ k2 = k2.stream().filter(k -> !k.isTransient() && !ignoreDataComponentTypes.contains(BuiltInRegistries.DATA_COMPONENT_TYPE.getKey(k))).collect(Collectors.toSet());
}
// Check if keys are equal |
Thank you both, bug disappeared with new release of SG. |
Issue type:
Short description:
Cannot get silent gear converted item from colossal chest via ID terminal
Steps to reproduce the problem:
Similar issue with other converted items like swords, boots etc. You can get it to mouse cursor but not put to inventory. Also you can find it in colossal chest itself and get from it without use ID terminal, So may be it's ID issue.
Versions:
Other:
IntegratedDynamics-1.21.1-neoforge-1.23.9.jar
IntegratedTerminals-1.21.1-neoforge-1.5.2.jar
IntegratedTunnels-1.21.1-neoforge-1.8.28.jar
IntegratedCrafting-1.21.1-neoforge-1.1.10.jar
silent-gear-1.21.1-neoforge-4.0.5.jar
silent-lib-1.21-neoforge-10.3.0.jar
The text was updated successfully, but these errors were encountered: