1
0
mirror of https://github.com/SquidDev-CC/CC-Tweaked synced 2025-10-23 09:57:39 +00:00
Commit Graph

746 Commits

Author SHA1 Message Date
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
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
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
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
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
b5d1e618b9 Set stack size when crafting coloured items
Fixes #793
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
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
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
David Queneau
264dbc570f Fixed turtle tool upgrades not rendering in GUI. 2021-05-16 11:16:01 -07:00
David Queneau
e4ad8bc117 Fixed turtle ability to feed/breed passive mobs. 2021-05-16 11:16:01 -07:00
David Queneau
1b31972092 Fixed turtle ability to place signs with text. 2021-05-16 11:16:01 -07:00
David Queneau
6cd9fa9fb2 Fixed turtle bone meal usage 2021-05-16 11:16:01 -07:00
David Queneau
d10f297ca0 Turtles handle double chest inventories correctly. Cleaned up generic inventory code. 2021-05-16 11:16:01 -07:00
Merith-TK
9ae5636d41 update readme, add overhaul resourcepack as submodule 2021-05-16 11:12:12 -07:00
Merith
76e0507c3b Merge pull request #31 from Jummit/new-textures
Update the textures to fit Jappa's style
2021-05-16 09:58:11 -07:00
Jummit
d8e2fab2b1 Update the textures and add an optional programmer art texturepack 2021-05-16 18:51:40 +02:00
Merith
5a309258af Merge branch 'fabric' into merith-1.16.5-pr 2021-05-16 09:42:11 -07:00
Jonathan Coates
46846a4fde Improve UX when a resource mount cannot be found
- Add a full example of the docs. Hopefully is a little more explicit.
 - Print a warning when the mount is empty.

Closes #762
2021-05-16 14:25:09 +02:00
Jonathan Coates
66dbab7a6b "Finish" documentation for several modules
- Add remaining docs for the turtle API
 - Add documentation for the fluid storage peripheral.
 - Enforce undocumented warning for most modules (only io and window
   remaining).

"Finish" in quotes, because these are clearly a long way from perfect.
I'm bad at writing docs, OK!
2021-05-16 14:17:57 +02:00