1
0
mirror of https://github.com/SquidDev-CC/CC-Tweaked synced 2025-08-26 23:42:18 +00:00

2277 Commits

Author SHA1 Message Date
Toad-Dev
6ad2cdaf62 Remove MixinLevel
This mixin isn't needed since 1.17 changes to BlockEntities, and doesn't
do anything in its current state.
2021-12-16 17:40:51 -08:00
Toad-Dev
4914ad0040 Fix NPE when pistons extend. 2021-12-15 19:49:35 -08:00
Toad-Dev
27102e6381 Remove a todo I left in after fixing the problem :) 2021-12-15 19:45:19 -08:00
Toad-Dev
9083e4f97b Ensure that static inits in Registry happen at a defined time.
There must be a better way to do this, but at least I understand why
this code existed before.
2021-12-15 19:42:11 -08:00
Toad-Dev
f74a386312 Change how we access tags to be compatible with dedicated server.
Another oversight in the merge.
2021-12-15 19:42:11 -08:00
Toad-Dev
ad0080ef32 Don't use ModelResourceLocation class on dedicated server.
Missed this during the merge.
2021-12-15 19:42:11 -08:00
Merith
a549400776
Merge pull request #33 from DrummerMC/mc-1.18.x/fixTurtleSuckCommand
fix TurtleSuckCommand
2021-12-15 18:31:20 -08:00
Toad-Dev
d2405ee3c3 Merge tag 'v1.18.1-1.99.1' into mc-1.18.x/dev 2021-12-15 14:26:38 -08:00
DrummerMC
2145d0fe14 fix TurtleSuckCommand 2021-12-15 18:14:35 +01:00
Toad-Dev
687352572d Target MC 1.18.1 2021-12-13 23:46:08 -08:00
Jonathan Coates
7c373c6e06
Merge branch 'mc-1.17.x' into mc-1.18.x v1.18.1-1.99.1 2021-12-11 07:50:18 +00:00
Jonathan Coates
6196aae488
Merge branch 'mc-1.16.x' into mc-1.17.x v1.17.1-1.99.1 2021-12-11 07:49:33 +00:00
Jonathan Coates
92a0ef2b75
Bump CC:T version v1.16.5-1.99.1 2021-12-11 07:37:10 +00:00
Jonathan Coates
57c5d19f95
Update to Forge 1.18.1 2021-12-11 07:31:41 +00:00
Jonathan Coates
1f6e0f287d
Ensure the origin monitor is valid too
Blurh, still not sure if this is Correct or anything, but have no clue
what's causing this. Fixes #985. Hopefully.
2021-12-10 13:13:31 +00:00
Jonathan Coates
0e4b7a5a75
Prevent terminal buttons stealing focus
I have shutdown my computer by accident far too many times now.
2021-12-08 23:16:53 +00:00
Jonathan Coates
47ad7a35dc
Fix NPE when pulling an event with no type
I assume people have broken coroutine dispatchers - I didn't think it
was possible to queue an actual event with no type.

See cc-tweaked/cc-restitched#31. Will fix it too once merged downstream!
2021-12-08 22:47:21 +00:00
Toad-Dev
147f396d28 Bump version number -> 1.99.0 2021-12-07 20:13:38 -08:00
Toad-Dev
35d642b516 Fix _HOST variable showing incorrect MC version. 2021-12-07 20:04:13 -08:00
Toad-Dev
dc20050547 Fix computers and turtles breaking without particles.
This is a very jarring bug in creative mode.
2021-12-07 19:08:50 -08:00
Toad-Dev
f5c8afa566 Fix turtle tools not wanting to break blocks.
Ideally I would port over the data driven turtle/pocket upgrade system
from CC: Tweaked, but I don't understand it well enough at the moment.
This (should) bring parity to behaviors, but our api for adding upgrades
remains divergent.
2021-12-07 19:08:50 -08:00
Toad-Dev
6c73eb7df1 Implement MonitorWatcher functionality.
Note that I did not hook into ChunkMap in the same place as Forge's
ChunkWatchEvent. In my testing the Forge hook location doesn't *only*
fire when a player begins watching the chunk, instead it fires every
time the chunk is checked against the player's view distance. This
results in the server spamming packets for static terminals as players
move around. Perhaps I'm reading the Forge patch wrong...
2021-12-07 19:07:31 -08:00
Toad-Dev
745b732e87 Fix BlockEntity syncing.
Fabric does not have a separate handler for update packets vs load.
Perhaps we should check if the CompoundTag contains an animation value
in TurtleBrain#readDescription but nbt.getInt defaults to 0 and that's
TurtleAnimation.NONE so...
2021-12-07 18:57:23 -08:00
Toad-Dev
6c519aef63 Merge remote-tracking branch 'CC-Tweaked/mc-1.18.x' into mc-1.18.x/dev 2021-12-07 18:54:05 -08:00
Toad-Dev
f880396286 Merge as much code from CC-Tweaked/mc-1.18.x into CC:R as possible.
Hopefully this will make tracking changes and merging future CC: Tweaked
development easier! A lot of this is making whitespace and method
ordering even with Tweaked to bring down the diffs, but it also fast
forwards us to CC:T 1.99.0 features.
2021-12-07 18:53:43 -08:00
Jonathan Coates
3eab2a9b57
Add support for a zero-copy Lua table
The API is entirely designed for the needs of the speaker right now, so
doesn't do much else.
2021-12-07 18:27:29 +00:00
Toad-Dev
34760d3de4 Update to MC 1.18
Fabric api got rid of their BE syncing helper in favor of the vanilla
system. In this commit BE syncing is probably horribly broken and needs
to be looked over. I did the minimum to make it compile and run.
2021-12-05 12:28:11 -08:00
Jonathan Coates
c4024a4c4c
Use an admonition instead 2021-12-02 22:41:58 +00:00
Jonathan Coates
f5fb82cd7d
Merge pull request #977 from MCJack123/patch-9
Add package.searchpath
2021-12-02 12:34:07 +00:00
Jonathan Coates
23c17075be
save -> saveAdditional
Also add in a janky workabround for handleUpdateTag not being called.
Being an early porter is always fun :D:.
v1.18-1.99.0
2021-12-02 09:20:06 +00:00
MCJack123
e18ba8a2c2
Add package.searchpath 2021-12-01 18:55:24 -05:00
Jonathan Coates
87988a705b
Exclude Jetbrains annotations from testModExtra
testModExtra must /strictly/ be the set of dependencies which are not
present in implementation - there can't be any duplicates.

Yes, it's stupid, but the whole lazyToken("minecraft_classpath") thing
wasn't really built with this in mind, so not much we can do :)
2021-12-01 20:40:46 +00:00
Jonathan Coates
422bfdb60d
Add 1.18 and remove 1.15 from the issue template
No, we're not pushing it to Curse yet, but while I remember.
2021-12-01 20:24:37 +00:00
Jonathan Coates
1851ed31cd
Release keys when opening the offhand pocket computer screen
Opening a screen KeyBinding.releaseAll(), which forces all inputs to be
considered released. However, our init() function then calls
grabMouse(), which calls Keybinding.setAll(), undoing this work.

The fix we're going for here is to call releaseAll() one more time[^1]
after grabbing the mouse. I think if this becomes any more of a problem,
we should roll our own grabMouse which _doesn't_ implement any specific
behaviour.

Fixes #975

[^1]: Obvious problem here is that we do minecraft.screen=xyz rather
      than setScreen. We need to - otherwise we'd just hit a stack
      overflow - but it's not great.
2021-12-01 20:09:38 +00:00
Jonathan Coates
179da1d8cf
Update to MC 1.18
- Build fails right now due to module issues, so this won't be pushed
   to GitHub.
 - Monitors render transparently when loaded into the world. I don't
   think this is a 1.17 bug, so not sure what's going on here!
2021-11-30 22:48:38 +00:00
Jonathan Coates
92fd93c0e0
Merge branch 'mc-1.16.x' into mc-1.17.x 2021-11-30 22:37:07 +00:00
Jonathan Coates
3929dba4a5
Only send update packets on the TEs which need it
More bits of #658
2021-11-30 22:01:09 +00:00
Jonathan Coates
af966179ce
Merge branch 'mc-1.16.x' into mc-1.17.x v1.17.1-1.99.0 2021-11-29 19:40:05 +00:00
Jonathan Coates
5927e9bb10
Bump CC:T version v1.16.5-1.99.0 2021-11-29 18:54:54 +00:00
Jonathan Coates
53811f8169
Allow peripherals to have multiple types (#963)
Peripherals can now have multiple types:
 - A single primary type. This is the same as the current idea of a
   type - some identifier which (mostly) uniquely identifies this kind
   of peripheral. For instance, "speaker" or "minecraft:chest".

 - 0 or more "additional" types. These are more like traits, and
   describe what other behaviour the peripheral has - is it an
   inventory? Does it supply additional peripherals (like a wired
   modem)?.

This is mostly intended for the generic peripheral system, but it might
prove useful elsewhere too - we'll have to see!

 - peripheral.getType (and modem.getTypeRemote) now returns 1 or more
   values, rather than exactly one.
 - Add a new peripheral.hasType (and modem.hasTypeRemote) function which
   determines if a peripheral has the given type (primary or
   additional).
 - Change peripheral.find and all internal peripheral methods to use
   peripheral.hasType instead.
 - Update the peripherals program to show all types

This effectively allows you to do things like
`peripheral.find("inventory")` to find all inventories.

This also rewrites the introduction to the peripheral API, hopefully
making it a little more useful.
2021-11-29 17:37:30 +00:00
Jonathan Coates
298f339376
Invalidate peripherals during the computer's tick instead
- Capability invalidation and tile/block entity changes set a dirty bit
   instead of refetching the peripheral immediately.
 - Then on the block's tick we recompute the peripheral if the dirty bit
   is set.

Fixes #696 and probably fixes #882. Some way towards #893, but not
everything yet.

This is probably going to break things horribly. Let's find out!
2021-11-28 20:03:27 +00:00
Jonathan Coates
2418cfb87b
More instanceof pattern matching 2021-11-28 15:58:30 +00:00
Jonathan Coates
9d44f1ca66
Make capability invalidation callbacks less strict
Forge!! *shakes fist*.
2021-11-28 12:47:08 +00:00
Jonathan Coates
306e06a79a
Do not allow transferring into removed blocks
See #893.
2021-11-28 12:32:31 +00:00
Jonathan Coates
4f11549112
Remove space in fs API 2021-11-27 16:35:44 +00:00
Jonathan Coates
8983ecd03a
Reset more files 2021-11-27 15:50:37 +00:00
Jonathan Coates
7f3490591d
Some fixes to the web-based emulator
- Bump copy-cat version to have support for initial files in
   directories and the blit fixes.
 - Add an example nft image and move example nfp into a data/ directory.
 - Fix nft parser not resetting colours on the start of each line.
2021-11-27 12:27:40 +00:00
Jonathan Coates
58e747506e
Update core, api and ROM to match latest CC:T
Mostly fine, but breaking change in that getWorld -> getLevel. Possibly
worth deferring to 1.18
2021-11-27 10:14:46 +00:00
Jonathan Coates
095101831c
Pin to an older ForgeGradle
This .25 is still borked I think
2021-11-27 09:34:20 +00:00
Jonathan Coates
70a24d371d
Update build.gradle to more closely match CC:T's
- Adds cct-javadoc fun and renables checkstyle (yay?)
 - Fixes a few javadoc and formatting issues
 - Cherry pick the docs so illuaminate doesn't complain
2021-11-27 09:32:25 +00:00