26 Commits
Author SHA1 Message Date
Martin Robertz dd8c21497a update+deps+bs 2026-09-05 14:50:30 +02:00
Martin Robertz 198a2bead6 update deps 2026-07-04 19:47:14 +02:00
Dream Master 8fb51bc8ea update+deps 2026-06-19 16:06:56 +02:00
MassAnarchyandKogepan229 8dda22d178 Fix ae2 colorutils (#43)
Co-authored-by: Kogepan229 <kogepan25629@gmail.com>
2026-06-16 00:37:54 -04:00
Martin Robertz 39090700bf update+gradle+dpes+bs 2026-04-27 13:23:04 +02:00
hiroschoandMartin Robertz 3ec42b791a Fix/various p2p binding issues (#39)
Co-authored-by: Martin Robertz <dream-master@gmx.net>
2025-10-18 11:22:16 +00:00
Martin Robertz 67e3d6571c update 2025-10-02 16:04:51 +02:00
Martin Robertz 777e0cd7c1 merge conflicts 2025-10-02 16:04:31 +02:00
Caedis 383ed2bfc2 Add null stack check (#37) 2025-09-23 14:55:16 -07:00
lc-1337 da46182412 update dependencies (#36) 2025-07-13 19:21:21 +07:00
Martin Robertz b7908f20ae update 2024-08-18 14:50:15 +02:00
Martin Robertz 7812af1c11 update 2024-03-23 22:05:48 +01:00
bombcar 24dc9230c2 remove * 2024-01-09 13:22:30 -06:00
bombcar ffca317399 update dep on OC 2024-01-08 20:24:31 -06:00
bombcar d69c501602 update buildscripts for jankins 2024-01-08 17:49:21 -06:00
firenoo 7a38f2fc9a Rewrite Net code, add dual interface compat (#32)
* Add dual interfaces to supported P2P list

* Fix the AMC eating a static p2p without changing type

* Move packet data into a dedicated package in network

* Remove unused classes

TransportPlayer -> It's no longer allowed!
AEPartLocationMessage -> Superceded in the next version
LinkException -> Never used.

* Rewrite the network code

Performs major changes to the structure of how netcode is laid out.

1. Move packets to their own package and rewrite them.
2. Move methods from P2PUtil to GridServerCache, which will serve as the
   main channel for client <-> server communication.
3. Remove P2PCache - merged with GridServerCache and ModNetwork.

Specific packets of note:
1. S2CListP2P has been renamed to S2COpenGui, as that was its original
   intent. It is only sent when the memory card is used. Use
   S2CUpdateInfo to send only a list of changed P2PInfos (see below).
2. P2PLocation - This is used to store p2p location information and is
   the preferred data structure to send across the network. True, it
   has more data to be sent over the net, but it ensures that hash
   collisions don't break the card's functionality. Most packet types
   will use this for operations.
3. P2PInfo - This is used to handle sending updated p2p information
   over the net. When P2PLocation does not provide enough info (such
   as when connections are dirty)

* Finishing touches to the refactor + rewrite

* Change shown type when changing P2P type

Because Sampsa wanted it

* Remove debug
2023-07-30 12:57:13 +02:00
firenoo de3a08f02a Fix bad hash function + Add new P2P compat (#31)
* Update buildscript

* Use CityHash64

Should fix an insidious bug where two p2ps could have the same hash if the
first p2p has coords (x=a,y=b,z=c,facing=F,dim=D) and the second p2p has
coords (x=-a-1,y=b,z=c,facing=F,dim=D). This is because using XOR with a
negative coord causes it to flip in two's complement.

* Add support for new static p2p types

Add some error messages too

* Pre-merge cleanup
2023-07-17 10:52:04 -07:00
firenoo f5a23d1a3b Completely overhaul the Advanced Memory Card (#29)
* Move mode change button to the side.

- Mode change now on the side w/ resize button
- Some code cleanup
- New description (en only for now), texture.

* Update ae2 to beta-204

* Add OC/Pneumaticraft support

* Create a proxy for client/server

Mostly for convenience of getting icons and other GUI elements.

* Large refactor to make way for "refresh" functionality

Features:
- New "refresh" capability (no button available yet) so the
client can have an updated GUI.
- The player can now control which types to be queried/displayed.

A great number of changes were made to allow this to happen to the mod
internally, as started from the last commit.

- P2PCache has been revisited. Instead of being a one-time instantiation,
the cache can now be queried from the client many times.

- Network has changed. Instead of sending an ItemStack (as previously), we
keep that info locally and send a byte only instead, so that should save
some network traffic.

- New packet for sending the refresh signal has been made. Other packets
send a "type" discriminator to make way for the typing feature.

Because I was lazy and didn't separate the commits, here are some other
changes made:
- Cleaned up a bit of the code to make it easier to read. This includes
code I've written before...
- Some name refactors. Some of the names were (mine) were quite frankly,
bad.

Signed-off-by: Firenoo <49818773+firenoo@users.noreply.github.com>

* More cleanup + texture for type change

Some more code cleanup (spacing and labels)

* Disable ability to use copy outputs when output selected

Because it doesn't work, and has strange behavior, this is being disabled
for now (possibly forever).

* Remove unused method + remove unused imports

* Add unbinding mode

+ tooltip explanation

* Add type to filter options

* Add enUS localization

* Add refresh button, and prevent excessive packet spam.

Packets are sent only once every 250 ms to avoid DDOSing someone.
Accomplishes this by adding a new scheduled executor.

* Add the ability to change P2P types from the GUI

* tooltip was actually lying, now it's lying less

* Fix CME from resizing GUI, and add patterns to drops when changing P2P interface type

CME caused by iterating over the button list. Clicking on resize button forces
the GUI to reset, so the button list changes and causes the CME.

P2P interfaces now drop their items if changing their type from the GUI.

* Make the refresh icon look a little less like MSPaint

Also minor change to tooltip when changing types.

---------

Signed-off-by: Firenoo <49818773+firenoo@users.noreply.github.com>
2023-05-15 17:29:14 +02:00
Firenoo c37e355e1e Update dependencies.gradle
Update AE to latest (beta-179)
2023-03-21 19:32:26 -07:00
Firenoo 6c0ffb96a4 Update dependencies.gradle
Use AE2 beta-160
2023-02-27 12:07:03 -08:00
GlodBlock 3621407fa8 gui improvement 2022-09-09 08:35:09 +08:00
GlodBlock 649c8b3daf fix noSuchMethod crash with latest ae2 2022-05-29 16:45:50 +08:00
GlodBlock b9b399c9a3 fix p2p dupe with security terminal 2022-05-22 10:30:26 +08:00
bombcar bef04851aa fix version 2022-02-11 16:36:03 -06:00
bombcar 6ecdf213b3 update deps 2022-02-07 07:47:41 -06:00
bombcar c15ab5ad2c migrate to buildscript 2022-02-03 14:52:50 -06:00