Creators-of-Create / Create

[Forge Mod] Building Tools and Aesthetic Technology
MIT License
2.85k stars 897 forks source link

Using a Sequenced Gearshift as a peripheral doesn't support negative numbers when rotating. #4941

Closed mthedoodler closed 1 year ago

mthedoodler commented 1 year ago

Describe the Bug

When attempting to use a sequenced gearshift as a peripheral, the rotate method always rotates in the same direction, regardless of negative numbers. This happens regardless of the orientation of the sequenced gearshift,

Reproduction Steps

  1. Place a sequenced gearshift and power it with a source of kinetic energy.
  2. Place a computercraft computer next to the gearshift.
  3. Access it as a peripheral.
  4. Call its rotate method on a negative number. ...

Expected Result

Rotating using a negative number should move it in the opposite direction.

Screenshots and Videos

Video here: https://drive.google.com/file/d/1LaZuUyhpMxolYhT8x4mTFavXdOohf38L/view?usp=sharing

Crash Report or Log

No response

Operating System

Windows 10

Mod Version

0.5.1b

Minecraft Version

1.19.2

Forge Version

43.2.13

Other Mods

Mods: [✔️] AdvancedPeripherals-1.19.2-0.7.28r.jar [✔️] Amplified_Nether_1.19.3_v1.2.1.jar [✔️] appleskin-forge-mc1.19-2.4.2.jar [✔️] architectury-6.5.85-forge.jar [✔️] auudio_forge_1.0.3_MC_1.19.jar [✔️] cc-tweaked-1.19.2-1.101.2.jar [✔️] Chunk+Pregenerator-1.19-4.3.0.jar [✔️] create-1.19.2-0.5.1.b.jar [✔️] createdeco-1.3.3-1.19.2.jar [✔️] Croptopia-1.19.2-FORGE-2.2.2.jar [✔️] CTM-1.19.2-1.1.6+8.jar [✔️] fancymenu_forge_2.14.7_MC_1.19-1.19.2.jar [✔️] FarmersDelight-1.19-1.2.1.jar [✔️] ferritecore-5.0.3-forge.jar [✔️] fm_audio_extension_forge_1.1.1-1_MC_1.19.jar [✔️] FramedBlocks-6.8.4.jar [✔️] ftb-essentials-forge-1902.3.1-build.75.jar [✔️] ftb-library-forge-1902.3.19-build.214.jar [✔️] immersive-portals-2.3.5-mc1.19.2-forge.jar [✔️] itlt-1.19.x-2.1.5.jar [✔️] jei-1.19.2-forge-11.6.0.1015.jar [✔️] konkrete_forge_1.6.1_MC_1.19-1.19.2.jar [✔️] Ksyxis-Forge1.17-1.1.jar [✔️] loadmyresources_forge_1.0.4_MC_1.19-1.19.2.jar [✔️] modernfix-mc1.19.2-forge-3.5.1.jar [✔️] MouseTweaks-forge-mc1.19-2.23.jar [✔️] NethersDelight-1.19-3.0.jar [✔️] oculus-mc1.19.2-1.2.8a.jar [✔️] rechiseled-1.0.13-forge-mc1.19.jar [✔️] rubidium-0.6.2a.jar [✔️] supermartijn642configlib-1.1.6b-forge-mc1.19.jar [✔️] supermartijn642corelib-1.1.9a-forge-mc1.19.2.jar [✔️] Terralith_1.19.3_v2.3.8.jar [✔️] worldedit-mod-7.2.12.jar

Additional Context

No response

edgarogh commented 1 year ago

Create doesn't have ComputerCraft integration. You should reopen this issue on https://github.com/SirEndii/AdvancedPeripherals

mthedoodler commented 1 year ago

It got integration for some components in 0.5.1a. It's in the changelog for that release on both curseforge and modrinth.

edgarogh commented 1 year ago

Oh, my bad, you're absolutely right, sorry. I looked at the code and it seems like the direction of rotation is passed as a second argument to the functions (move/rotate):

https://github.com/Creators-of-Create/Create/blob/39ef3da5df0fad2054d8b95f15b51b4199479774/src/main/java/com/simibubi/create/compat/computercraft/implementation/peripherals/SequencedGearshiftPeripheral.java#L35-L42

You can pass 1 (default) for going forward at normal speed, 2 for going at double speed, and -1 or -2 to go in the reverse direction (with respective speed):

https://github.com/Creators-of-Create/Create/blob/39ef3da5df0fad2054d8b95f15b51b4199479774/src/main/java/com/simibubi/create/content/kinetics/transmission/sequencer/InstructionSpeedModifiers.java#L14

mthedoodler commented 1 year ago

Oh I see! Thanks for the clarification. There really should be documentation for computercraft integration for future reference; I couldn't find any when I looked for it earlier.