Commit graph

3090 commits

Author SHA1 Message Date
caelwarner
7f3ca1cfa0
Added isTrainEnroute to station peripheral API
- isTrainEnroute checks if a train is currently navigating to the station
- Reworded null station exception to "station is not connected to a track"
- Refactored StationPeripheral#inAssemblyMode to StationPeripheral#isInAssemblyMode
- Added a check to StationPeripheral#disassemble to make sure the station isn't in assembly mode
2023-03-13 16:29:05 -07:00
caelwarner
fac1ebcd3f
Added documentation for most peripherals
- Lua documentation has been added for all peripherals except the train station (not looking forward to writing that one)
- This documentation will be added to the GitHub wiki pages
2023-03-11 16:12:58 -08:00
caelwarner
3e21996984
Updated DisplayLinkPeripheral#write to move cursor to the end of the text
- This change was made to be more inline with ComputerCraft's builtin display API
2023-03-11 15:54:36 -08:00
caelwarner
7141c10025
Added isTrainImminent and hasSchedule to train station API
- Added isTrainImminent to check if a train is incoming to the station and hasSchedule to check if the currently present train has a schedule
- Added StationPeripheral#getTrainOrThrow to consolidate repetitive null checks
2023-03-11 11:45:43 -08:00
caelwarner
909484ed5b
Added getSchedule to train station lua API
- Added getSchedule which serializes the currently present train's schedule into a lua table
- Refactored StationPeripheral#setSchedule to use a more generic method of serializing NBT tags to lua tables
- Moved schedule entry special data from root tag to "Data"
- Added StringHelper#camelCaseToSnakeCase
- Added variety of put methods to CreateLuaTable
2023-03-11 11:15:58 -08:00
caelwarner
31ad3aa671
Extended train station peripheral API
- Train station peripherals can now assemble and disassemble trains, check if the station is in assembly mode, set the assembly mode of the station, get and change the station name, check if a train is present at the station and get and change the currently present train name.
- Refactored StationEditPacket. Moved most of the logic that was previously in StationEditPacket to StationTileEntity. This allows us to call this logic without having to send a packet.
- Made Train#owner nullable. This is needed so that computers can assemble trains. All Train#owner is currently used for is to display the train status to the correct play.
2023-03-08 18:22:23 -08:00
caelwarner
574cd93a89
Serialize hasAttachedComputer in ComputerBehaviour
- This eliminates some edge cases were peripherals don't realize they're being controlled by a computer on a world save and load
2022-11-30 00:37:47 -08:00
caelwarner
94e3ed44ad
Added ComputerScreen
- ComputerScreen shows that tile entity currently has computers attached and therefore cannot be controlled manually
2022-10-26 16:57:12 -07:00
caelwarner
9afdcaded7
Refactored PeripheralBase to SyncedPeripheral 2022-10-20 10:18:37 -07:00
caelwarner
7d47fdcd06
Made LuaFunction's final 2022-10-19 22:45:47 -07:00
caelwarner
56a1210fff
Created ComputerBehaviour behaviour
- ComputerBehaviour replaces ComputerControllable and SyncedComputerControllable
2022-10-19 22:39:38 -07:00
caelwarner
19d283b923
Moved all peripheral classes to computercraft.peripherals package 2022-10-19 16:05:48 -07:00
caelwarner
ab18034b98
Added Train Station as peripheral
- Train station can set a new auto-schedule for the train currently at the station
- Added CreateLuaTable to add helper functions for working with lua tables
- Added StringHelper util class to convert snake case to camel case
2022-10-19 15:58:56 -07:00
caelwarner
1091f3227c
Changed Display Link Peripheral API
- Changed the Display Link Peripheral API to be more in line with the Monitor API
- Added write, setCursorPos, getCursorPos, getSize, isColor, isColour, clearLine
- Removed void writeLine, setLine, writeLines, setLines
2022-10-06 21:11:24 -07:00
caelwarner
18bfb216b1
Changed method of checking if a computer attached
- After talking with SquidDev from CC: Tweaked I've changed to monitoring IPeripheral#attach and IPeripheral#detach for changes in the number of computers connected to the network, then updating the client using AttachedComputerPacket
- This works with wired full modems, wired cabled modems and directly connected computers
- Added SyncedPeripheralBase and SyncedComputerControllable for TE's and peripherals that want to be aware of attached computers
2022-10-06 02:50:41 -07:00
caelwarner
96dc4db6dc
Sequenced Gearshift screen "greys out" when being controlled by a computer
- This is to stop players from trying to using both the builtin sequencing and a computer to control the Sequenced Gearshift at the same time, leading to undefined behaviour
- The "greyed out" screen should have a message added explaining why it's greyed out.
- Added ComputerControllable#isComputerControlled to check if a tile entity is connected to a modem
2022-10-04 21:11:38 -07:00
caelwarner
9a80781401
Added PeripheralBase 2022-10-04 19:36:08 -07:00
caelwarner
d404f07319
Added invalidateCaps
- Changed setRemoved to invalidateCaps. I don't know why I wasn't just using invalidateCaps from the beginning
2022-10-03 20:46:16 -07:00
caelwarner
654476d9f3
Added Rotation Speed Controller and Sequenced Gearshift as peripherals
- Rotation Speed Controller can get and set targetSpeed
- Sequenced Gearshift can rotate by a certain angle and move a certain distance
2022-10-03 20:05:25 -07:00
caelwarner
1420406ab7
Added Speedometer and Stressometer as peripherals
- Speedometer can get current speed
- Stressometer can get current stress level as well as network stress capacity
- Made GaugeTileEntity abstract
2022-10-03 16:38:12 -07:00
caelwarner
47b8619d07
Refactored peripheralHandler to peripheral
- peripheralHandler was the wrong name. It's just a peripheral.
- Changed peripheral type from "cdl" to "Create_DisplayLink"
- Added equals function to DisplayLinkPeripheral
2022-10-03 16:17:05 -07:00
caelwarner
6591c2d46e
ComputerCraft integration for Display Links
- CC computers can now control display links through a variety of functions
- Added ComputerControllable interface to define a tile entity as controllable by CC computers
- Added CC: Tweaked soft dependency
2022-10-03 14:29:04 -07:00
simibubi
5303d69bf1 Better guard for Deployer#initHandler
- Addresses #3685
2022-09-29 13:00:33 +02:00
PepperCode1
abdeb212e8 Include patch F in bug report template 2022-09-28 20:10:44 -07:00
simibubi
c5b144b60c No Comment
- Added "." to empty comments in config files (-> Fixes forge startup crash on 1.19)
2022-09-28 22:28:29 +02:00
PepperCode1
e74bdaa262 Bump network version
- This prevents a client from joining a server if they have different
network versions.
2022-09-27 14:51:36 -07:00
PepperCode1
83a3de8930
Merge pull request #3822 from rbasamoyai/mc1.18/dev
Fix FluidTagIngredient testing null tag
2022-09-25 20:48:20 -07:00
rbasamoyai
e45d12c904
Fix FluidTagIngredient testing null tag 2022-09-25 23:36:15 -04:00
PepperCode1
96b76a83a1 Add 1.19 to Github files 2022-09-25 12:07:39 -07:00
PepperCode1
2e838b6e01 Obsidian movement config now controls respawn anchor 2022-09-25 11:56:52 -07:00
simibubi
bb404c3ceb PR Datagen 2022-09-25 20:51:06 +02:00
luffypirat
94578adad5
Updates to ru_ru.json by luffypirat (#3817) 2022-09-25 20:48:28 +02:00
璀境石
916638997d
Updates to zh_cn.json by Demonese (#3814) 2022-09-25 20:47:52 +02:00
simibubi
95a23f7433 Collision Spike
- Reduced false positives for train/player collisions during lag spikes
2022-09-25 20:41:12 +02:00
simibubi
1f06034b47 Order of Interact
- Fixed entity-specific interactions causing schedule interaction to be ignored
- Fixed viewport jittering when pressing movement keys while seated
- Fixed players dismounting trains/minecart contraptions causing them to be placed at incorrect locations
2022-09-23 23:04:49 +02:00
simibubi
4d4a959cfa Mixing up a Storm
- Reduced tps impact of basin recipe lookups noticeable in larger modpacks
- Fixed Brass tunnels distributing back into the side items get inserted from
- Fixed Brass tunnels distributing into sides blocked by an inserting funnel
- Cargo Conditions in schedules now match any cargo if no filter is specified
2022-09-23 18:40:15 +02:00
PepperCode1
09124ea92b Add config for automated brewing
- Add allowBrewingInMixer config
- Add 0.5.0e to the bug report template
- Allow Flywheel 0.6.6
2022-09-22 12:09:23 -07:00
simibubi
d6ca0343b8 PR Datagen
- Hand cranks, valve handles and smart pipes can now be waterlogged
- Version bumped
2022-09-22 20:10:42 +02:00
simibubi
e6d5048875
Merge pull request #3794 from MoarDm/mc1.18/fix-3786
Fix: Game crash caused by Attribute Filter
2022-09-22 19:47:16 +02:00
simibubi
f6f3a82025
Merge pull request #3793 from MoarDm/mc1.18/fix-3744
Fix: Fluid valve isn't waterloggable
2022-09-22 19:46:36 +02:00
simibubi
c571493ce4 Early Departures
- Fixed "Station Powered" wait condition not working correctly in non-overworld dimensions
2022-09-22 19:24:24 +02:00
simibubi
a4dc6bad54
Merge pull request #3783 from RungeCC/fix_cauldron
fix: lava/water/snowpowder cauldron
2022-09-22 19:03:38 +02:00
simibubi
c2d06edbf6 Merge branch 'mc1.18/dev' of https://github.com/Creators-of-Create/Create into mc1.18/dev 2022-09-22 19:00:39 +02:00
simibubi
d117637df1 Telekinetics
- Fixed Movement Behaviours not resetting state when minecart contraptions are picked up
2022-09-22 19:00:26 +02:00
Andre_601
143b26cab7
Updates to de_de.json by Andre601 (#3777) 2022-09-22 18:43:44 +02:00
simibubi
8fe370bbd5
Merge pull request #3776 from Xstoudi/fix/mechanical-crafter-dup
fix: item duplication bug
2022-09-22 18:40:25 +02:00
435THz
6338d28feb
Updates to it_it.json by 435THz (#3775) 2022-09-22 18:31:49 +02:00
simibubi
59452a44ac Update MaterialChecklist.java 2022-09-22 18:30:42 +02:00
simibubi
ecb40624f4
Merge pull request #3758 from Xstoudi/feat/hover-event
feat: add on hover event in material list
2022-09-22 18:29:33 +02:00
simibubi
01a788b4f7 Update pl_pl.json 2022-09-22 18:26:15 +02:00