Commit Graph
1114 Commits
Author SHA1 Message Date
ToadDev 9129da2e3d What is this?
This's -> gone
2021-06-12 15:51:45 -07:00
ToadDev 2543ebee10 Fix checkstyle 2021-06-12 15:46:33 -07:00
hugeblank 104a317163 Gui fixes
- Makes GuiTurtle extend from GuiComputer
- Fixes #51
- Fixes grayed background surrounding interface not rendering for computers
2021-06-12 13:42:28 -07:00
Merith-TK 76b5c05acc update changelog and whats new 2021-06-11 09:06:14 -07:00
Merith-TK 8b3f1a448f Add Mod Conflicts
litterally just canvas and iris
2021-06-11 08:42:41 -07:00
Merith 3de515c617 Merge pull request #56 from Toad-Dev/monitor-fix
Some things that might improve the monitor rendering situation.
2021-06-11 07:41:36 -07:00
ToadDev fc4bc9aa05 Fix #57 2021-06-10 20:11:38 -07:00
ToadDev 9662a106f0 Mark optifabric as incompatible with MonitorRenderer.TBO
Anyone using the default BEST option will automatically have VBOs
enabled when optifabric is detected.
2021-06-10 12:00:11 -07:00
ToadDev 06b0538b76 Reverted change to blocker layer, with tweaks.
Without the blocker layer even VBOs didn't work with shaders. So instead
I put the blocker back and made it mask both color and depth buffers,
which fixes the bug with chests and water drawing over monitors. Since
it now masks color I hoisted it up to be drawn before the terminal, and
made the terminal slightly offset to solve z-fighting with VBO renderer.
2021-06-10 11:55:29 -07:00
ToadDev fb128152a5 Fix checkstyle :P 2021-06-10 11:55:29 -07:00
ToadDev f596af059d Add a button to change monitor renderer in mod menu.
Probably useful for now.
2021-06-10 11:55:29 -07:00
ToadDev 52bb06d250 Add a shader mod compatibility check to the MonitorRenderer.BEST option.
Will need to fill in the shader mod ids after some testing.
2021-06-10 11:55:29 -07:00
ToadDev f3d22444d3 Fix: Stop water and chests being drawn over monitors
Somewhere along the line the gl state was being mangled and I'm still
not sure where! I moved the monitor blocks from the cutout render layer
to the default solid layer, which obviates the depth blocker. I don't
think the transparent front of the monitor blocks was ever visible so
this should be fine. Then the terminal quads are moved slightly outward
to prevent z-fighting with the now present block front.

Finally I noticed some chests were not rendering correctly around
monitors, so I paired an endDrawing() call with our sneaky hack of
calling startDrawing() to force the rendering state. This fixed the
chests. Hopefully we haven't messed up the render state in more ways :)
2021-06-10 00:59:21 -07:00
Jonathan Coates 2279f5044d Nuke treasure disks
They're datapacks now. Right???
2021-06-09 09:19:21 +01:00
Jonathan Coates 0bf7f3de89 Final checkstyle cleanup 2021-06-09 09:04:40 +01:00
Jonathan Coates 59266fe6e9 No more m_ nice guy 2021-06-09 08:55:11 +01:00
Jonathan Coates a198a5241d Use CC:T's version of dan200.computercraft.core 2021-06-09 08:29:44 +01:00
Jonathan Coates b429095f88 Reformat everything 2021-06-09 08:28:06 +01:00
Jonathan Coates a6c7236fa0 ./gradlew licenseFormat 2021-06-09 08:24:01 +01:00
ToadDev b0d7f690eb Fix: Mimic CC:T config file structure
Replaces the jankson implementation with night-config. Night config is
what the forge api uses so it's easy to produce .toml files in the same
structure as CC:Tweaked.

All config options and comments from CC:Tweaked are implemented. Some
of these options are ignored in various bits of implementation but that
is another problem :)

Also splits the config into a client and server file. The server file is
saved per-world. Names and locations are consistent with CC:T.
2021-06-08 23:45:50 -07:00
Merith-TK 59048b3f30 update overhaul textures 2021-06-07 11:36:05 -07:00
ToadDev 19d1cc0320 Fix inventories not showing up as peripherals.
An upstream commit changed the way these are registered and that got
overlooked in the merge.
2021-06-04 18:38:15 -07:00
Merith-TK 1a52275dcb release 1.96.0 2021-06-04 16:09:43 -07:00
ToadDev 80c2fc68aa Fix crash playing a music disc from drive on server.
#48
2021-06-03 21:54:28 -07:00
ToadDev 7c0664b9f2 Fix mixin from latest PR getting left behind in refactor.
I refactored the mixin package to be within a fabric package so other
fabric specific code could be kept nearby. But a mixin from a recent PR
got left behind in the merge. Github's empty merge conflict might have
been about this.
2021-06-03 21:32:37 -07:00
ToadDev 135a3f56a5 Refactor: Begin consolidating fabric only classes.
Made a top-level fabric package so mixins and their ancillary classes
can be grouped together. Also removed a stub duck interface that got
left behind somewhere along the line (MixedFirstPersonRenderer).
2021-06-03 13:48:34 -07:00
ToadDev 1f117b7c47 Fix: Inform block entities when chunk is unloaded.
Forge's ITileEntity interface adds a onChunkUnloaded handler method into
block entities. The fabric port doesn't have a re-implementation of this
feature, which meant TileMonitors weren't releasing their buffers when
unloaded. This commit adds that handler method back into TileGeneric,
which all CC block entities inherit from. Handler logic for the four
block entities that use this feature were copied over from the forge
repo.
2021-06-03 13:48:34 -07:00
ToadDev c820e051b3 Fix: Release monitor buffers on *client* thread
These buffers were being released on the server thread, causing the
logical server in a single player session to crash just before shutting
down. It seems the crash happened late enough to not cause world
corruption issues, and so went unnoticed. It was however causing a
memory leak when quitting/rejoining worlds, and it left the save file
lock in limbo.
2021-06-03 13:48:34 -07:00
Merith 01d7aaf062 Merge pull request #38 from Jummit/port-10
Port all recent commits
2021-06-03 07:58:58 -07:00
Merith f967a70121 Merge pull request #45 from hugeblank/disk-use
Fix Disk Drive & Disk Interaction
2021-06-02 19:24:25 -07:00
hugeblank 0318e62524 Implement tag functionality 2021-06-02 17:58:04 -07:00
hugeblank ca69d755e6 Re-implement turtle.getItemDetails() detailed mode
Incomplete - Missing item "tags", otherwise fully functional.

- Fixes #41
2021-06-02 17:29:06 -07:00
hugeblank 4c27eea73b Fix Disk Drive & Disk Interaction
Inject Special case into ServerPlayerInteractionManager that handles disks being sneak + right clicked onto disk drives.

Fixes  #12
2021-06-02 14:23:19 -07:00
ToadDev 225a64dd6b Send terminal state with /computercraft view 2021-05-31 16:40:09 -07:00
Jonathan Coates 1831e81dd4 Add button to view computer's folder
Implementation is a little awkward, as we can't send OPEN_FILE links
from the server, so we ensure the client runs a
/computercraft open-computer ID command instead. We then intercept this
on the client side and use that to open the folder.
2021-05-30 23:59:39 -07:00
Jonathan Coates 936742895b Bump version to 1.94.0 2021-05-25 22:16:57 +02:00
Jonathan Coates b5d1e618b9 Set stack size when crafting coloured items
Fixes #793
2021-05-25 22:16:57 +02:00
JackMacWindows 10aa6c5297 Add the ability to call cc.expect directly 2021-05-25 22:16:57 +02:00
Jonathan Coates 010ebacd1a Fix mount suggestion always being printed out 2021-05-25 22:16:57 +02:00
Lupus590 9e002beed7 Add cc.expect.range (#790) 2021-05-25 22:16:57 +02:00
Jonathan Coates 6029defb20 Use a separate region for the bottom pocket computer border
This is definitely not a good solution, but it's probably the best we
can do right now given resizable computers are a thing.

Fixes #775, closes #776
2021-05-25 22:16:57 +02:00
Jonathan Coates c16aa5f247 Fix build failures
- Add license headers. Also check these during pre-commit.
 - Fix javadoc issue.
2021-05-25 22:16:57 +02:00
Jummit 8d27bdca7b Expose GenericSource to the public API
- Remove the service provider code and require people to explicitly
   register these. This is definitely more ugly, but easier than people
   pulling in AutoService or similar!
 - Add an API for registering capabilities.
 - Expand the doc comments a little. Not sure how useful they'll be, but
   let's see!

There's still so much work to be done on this, but it's a "good enough"
first step.
2021-05-25 22:16:57 +02:00
Jonathan Coates 41aa8fa163 Add example to turtle.inspect
A pretty common but non-trivial API, so worth having something. Even if
not perfect.
2021-05-25 22:16:57 +02:00
Jummit e40fb67b50 Add inventory.getItemLimit
Closes #781
2021-05-25 22:16:57 +02:00
Jonathan Coates 652b7ebba6 Use lightGrey for folders on normal computers
This way we still get some differences between files and folders on
normal computers. I did try with just green, but I think the contrast is
too low.

Closes #656
2021-05-25 22:16:57 +02:00
Jonathan Coates f0d7a1165d Don't close file handles from ResourceMounts
Unlike short handles, we don't read these immediately, and so we can't
close it right away. Otherwise the file is considered empty!

Fixes SquidDev-CC/treasure-programs#1
2021-05-25 22:16:57 +02:00
Euric 4a20eea852 Defer monitor tile update when placed by another TE 2021-05-25 22:16:57 +02:00
Jonathan Coates ccdd2bf477 Add some examples to inventory methods
Closes #761. It's not perfect, but it's a little better. Maybe??
2021-05-25 22:16:57 +02:00
Jonathan Coates 8d8f41a50b Simplify our overrides of load/loadstring
- Remove auto-prefixing of load/loadstring
 - Use Cobalt's normal load implementation, with a simple hook to
   set _ENV on the environment.
2021-05-25 22:16:57 +02:00