commit a162e18c9c4d91c4020e86cf718d59d3a33b2817
Merge: 374848f97beb61708a
Author: simibubi <31564874+simibubi@users.noreply.github.com>
Date: Fri May 12 13:40:58 2023 +0200
Merge branch 'mc1.18/dev' into mc1.18/computercraft
commit 374848f978
Author: simibubi <31564874+simibubi@users.noreply.github.com>
Date: Fri May 12 13:22:29 2023 +0200
Compilation dependency toggle
commit b2cd60b619
Merge: 8e1e4e8bdee3a079ba
Author: simibubi <31564874+simibubi@users.noreply.github.com>
Date: Wed May 10 14:37:32 2023 +0200
Merge pull request #4650 from ChristianLW/mc1.18/computercraft
Small tweaks to the wiki pages for ComputerCraft integration
commit ee3a079bac
Author: Christian L.W <bebeu@bebeu.dk>
Date: Thu Apr 13 00:55:20 2023 +0200
Small tweaks to the wiki pages
commit 8e1e4e8bd3
Author: caelwarner <caelawarner@gmail.com>
Date: Mon Mar 13 18:31:56 2023 -0700
Added computer to display source ponder tag
- Added advanced computer to display source ponder tag
- Added missing lang entry for computer display source
commit 952941e5fc
Author: caelwarner <caelawarner@gmail.com>
Date: Mon Mar 13 16:31:16 2023 -0700
Added documentation for train station peripherals and train schedules
- Added in depth documentation for working with train stations and train schedules in Lua
- Fixed small formatting issues in Lua-Rotation-Speed-Controller.md and Lua-Sequenced-Gearshift.md
commit 7f3ca1cfa0
Author: caelwarner <caelawarner@gmail.com>
Date: Mon Mar 13 16:29:05 2023 -0700
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
commit fac1ebcd3f
Author: caelwarner <caelawarner@gmail.com>
Date: Sat Mar 11 16:12:58 2023 -0800
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
commit 3e21996984
Author: caelwarner <caelawarner@gmail.com>
Date: Sat Mar 11 15:54:36 2023 -0800
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
commit 7141c10025
Author: caelwarner <caelawarner@gmail.com>
Date: Sat Mar 11 11:45:43 2023 -0800
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
commit 909484ed5b
Author: caelwarner <caelawarner@gmail.com>
Date: Sat Mar 11 11:15:58 2023 -0800
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
commit 31ad3aa671
Author: caelwarner <caelawarner@gmail.com>
Date: Wed Mar 8 18:22:23 2023 -0800
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.
commit 574cd93a89
Author: caelwarner <caelawarner@gmail.com>
Date: Wed Nov 30 00:37:47 2022 -0800
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
commit 94e3ed44ad
Author: caelwarner <caelawarner@gmail.com>
Date: Wed Oct 26 16:57:12 2022 -0700
Added ComputerScreen
- ComputerScreen shows that tile entity currently has computers attached and therefore cannot be controlled manually
commit 9afdcaded7
Author: caelwarner <caelawarner@gmail.com>
Date: Thu Oct 20 10:18:37 2022 -0700
Refactored PeripheralBase to SyncedPeripheral
commit 7d47fdcd06
Author: caelwarner <caelawarner@gmail.com>
Date: Wed Oct 19 22:45:47 2022 -0700
Made LuaFunction's final
commit 56a1210fff
Author: caelwarner <caelawarner@gmail.com>
Date: Wed Oct 19 22:39:38 2022 -0700
Created ComputerBehaviour behaviour
- ComputerBehaviour replaces ComputerControllable and SyncedComputerControllable
commit 19d283b923
Author: caelwarner <caelawarner@gmail.com>
Date: Wed Oct 19 16:05:48 2022 -0700
Moved all peripheral classes to computercraft.peripherals package
commit ab18034b98
Author: caelwarner <caelawarner@gmail.com>
Date: Wed Oct 19 15:58:56 2022 -0700
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
commit 1091f3227c
Author: caelwarner <caelawarner@gmail.com>
Date: Thu Oct 6 21:11:24 2022 -0700
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
commit 18bfb216b1
Author: caelwarner <caelawarner@gmail.com>
Date: Thu Oct 6 02:50:41 2022 -0700
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
commit 96dc4db6dc
Author: caelwarner <caelawarner@gmail.com>
Date: Tue Oct 4 21:11:38 2022 -0700
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
commit 9a80781401
Author: caelwarner <caelawarner@gmail.com>
Date: Tue Oct 4 19:36:08 2022 -0700
Added PeripheralBase
commit d404f07319
Author: caelwarner <caelawarner@gmail.com>
Date: Mon Oct 3 20:46:16 2022 -0700
Added invalidateCaps
- Changed setRemoved to invalidateCaps. I don't know why I wasn't just using invalidateCaps from the beginning
commit 654476d9f3
Author: caelwarner <caelawarner@gmail.com>
Date: Mon Oct 3 20:05:25 2022 -0700
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
commit 1420406ab7
Author: caelwarner <caelawarner@gmail.com>
Date: Mon Oct 3 16:38:12 2022 -0700
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
commit 47b8619d07
Author: caelwarner <caelawarner@gmail.com>
Date: Mon Oct 3 16:17:05 2022 -0700
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
commit 6591c2d46e
Author: caelwarner <caelawarner@gmail.com>
Date: Mon Oct 3 14:29:04 2022 -0700
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
- Fix NPE in CarriageSyncData (Unknown cause)
- Fixed crash when applying text to display boards before they initialise
- Fixed incorrect itemstack remainders on Weighted Ejectors
- Other mods' wrenches now always behave like the Create wrench on IWrenchables
- Crashes that occur during schematic loading no longer terminate the server
- Fixed crash when creating new belts at existing chutes/funnels
- Fixed ghost items appearing on non-powered belts when extracted from
- Adjust how and when blaze burners accept fuel
- Fix crash with Optifine when rendering a map
- Fix RenderType being used in common code
- Increment version
- Add SteamEngineInstance
- Delete contraption models on contraption invalidate
- Do not use enum subclasses in BottomlessFluidMode
- Fix ContraptionDriverInteractMixin being added twice
- Update Flywheel
- Deprecate CreateRegistrate#lazy, add CreateRegistrate#create, and call
registerEventListeners manually
- Remove Create#registrate and use Create.REGISTRATE instead
- Move tag datagen code and methods to TagGen
- Pass event busses directly to Curios#init
- Update logging to use SLF4J
- Update Flywheel to 0.6.8-95
- Increment version to 0.5.0.g
- Refactor JEI category building
- Fix placard item requirement not checking NBT
- Use AddPackFindersEvent instead of ShippedResourcePacks
- Remove unused config values
- Provide separate resource and data formats in pack.mcmeta
- Compress all images
- Update to latest Flywheel
- Disable jarJar inclusion of Flywheel
- Use ${file.jarVersion} instead of ${version}
- Add workaround for SpongePowered/MixinGradle#38
- Use JarJar
- Include Flywheel automatically
- Include Registrate instead of shading it
- Refactor Maven coordinate scheme
- Artifact ID: "Create" -> "create-{minecraft_version}"
- Artifact Version: "{mod_version}.{patch}-{build_number}"
- Exclude datagen cache from built jars
- Include LICENSE file in build jars
- Sync mods.toml version with gradle.properties version
- Use more modern publication code
- Update Gradle: 7.4.1 -> 7.4.2
- Fixed Dedicated server crash when riding a train
- Fixed broken localisation component in super glue editor
- Fixed display links not showing correct icons for dyed nixie tubes
- Arm Interaction point safety checks
- Trains no longer briefly derail when moving through portals
- Players are now less likely to get stuck in the original dimension when traversing train portals
- Trains no longer track coupling stress between carriages that are currently in different dimensions
- Fixed quark closing double doors when opened (+temporary workaround for 1.18)
- Boilers made of creative fluid tanks now provide a max level water supply
- Crafter ponder scene no longer uses an outdated recipe
- Reduced steam release effect of bogeys that haven't travelled far since the last stop
- Fixed Create's JEI plugin not reloading recipes properly
- Reverted an AT that seems to cause issues with compiling in IDEs
- Fixed Contraption disassembly causing inventory contents to be rolled back
- Fixed Crushing Wheels not working correctly
- Items idling on top of Crushing Wheels are no longer prevented from being picked up by players
- Fixed automated compatibility picking up custom recipes from the mod "occultism"
- Optimize CreateJEI recipe list construction
- Optimize PotionMixingRecipes
- Add basic modded brewing recipe compatibility
- Fix dyed sails not being placed when printing schematics
- Fix sideways belts not being placed correctly when printing schematics
- Fix MechanicalCraftingCategory not applying the model matrix
- Add Upgrade Aquatic compatible fertilizer recipes; Resolve#658
- Replace almost all reflection with access transformers or accessor
mixins
- Remove duplicate sails tag
- Improve metal compatibility
- Switch to a linked set in StringSerializableTrigger to prevent
inconsistent generation of aesthetics.json
- Other minor changes
- Add new config and tags for better control over infinite draining
behaviour
- Pipes spilling water will now extinguish entities and fires; pipes
spilling lava will now set entities on fire
- Fix some bugs and inconvenient behavior with the config menus
- Fix fluids destroying crushing wheel controllers
- Fix crushing wheel controller using output direction instead of input
direction at times
- Rename blaze burner fuel tags
- Improve GhostBlockRenderer
- Organize imports
- Update Forge
- Update Flywheel and add support for unshaded quads
- Fix models marking shafts and other parts as unshaded
- Refactor SchematicRenderer buffer building
- Improve block entity render bounding box caching
- Fix#2785
- Fix sequenced assembly scene in newer JEI versions; Fix#2779
- Fix inconsistent JEI fan scenes; Fix#2748
- Fix glowing RenderTypes not respecting lightmap values
- Add ForcedDiffuseState to push/pop forced diffuse calculators
- Transform the SBB instead of the global PoseStack when applying ponder
transforms
- Tweak used shaders in RenderTypes
- Rename LerpedFloat.Interpolater to Interpolator
- Update Flywheel
- Fix ponder diffuse when using shaders
- Partially fix incorrect diffuse formula being used in the nether
- Invalidate schematic renderers at the appropriate time