SquidDev
f3b11bc1c2
Copy over CCTweaks's command system
...
This adds several commands which may be useful for server owners. It'd
be nice to integrate this into ComputerCraft itself, but the associated
command framework is quite large so we'd have to think about it.
2017-12-06 15:51:51 +00:00
SquidDev
04590befb3
Add support for viewing arbitrary computers in a GUI
...
Important terminal (such as terminal size) is packed into the the
coordinate fields.
2017-12-06 15:43:25 +00:00
SquidDev
f11bfc53ee
Use IComputer instead of ServerComputer on the client
2017-12-01 19:32:15 +00:00
SquidDev
61e3967b8e
Merge pull request #494 from SquidDev-CC/ComputerCraft/hotfix/collision-aabb
...
Fix getCollisionBoundingBox not using all AABBs
2017-12-01 19:19:17 +00:00
SquidDev
add86ea100
Merge pull request #491 from SquidDev-CC/ComputerCraft/feature/api-api
...
Provide an API for registering custom APIs
2017-12-01 19:18:40 +00:00
SquidDev
788d783745
Fix getCollisionBoundingBox not using all AABBs
...
Closes #493
2017-11-22 10:52:28 +00:00
SquidDev
55847460c5
Provide an API for registering custom APIs
...
ILuaAPI has been moved to dan200.computercraft.api.lua. One creates
a new API by registering an instance of ILuaAPIFactory. This takes an
instance of IComputerSystem and returns such an API.
IComputerSystem is an extension of IComputerAccess, with methods to
access additional information about the the computer, such as its label
and filesystem.
2017-11-19 18:23:38 +00:00
SquidDev
893524b0a8
Mark computers as changed when changing on state
...
Previously they were not marked as such, meaning computer state was not
broadcast to the client until blinking state changed.
2017-11-19 15:23:12 +00:00
SquidDev
aa447ec101
Fix term.getTextScale() not using the main monitor
2017-11-19 14:03:48 +00:00
SquidDev
dd3b69a633
Rebranding!
...
I feel kinda guilty about this, but it's probably a good idea to make it
clear that this isn't "actual, proper, stable" ComputerCraft.
2017-11-15 16:25:10 +00:00
SquidDev
2ae6fb47e7
Move CommandComputer into a child package
...
Means we can be a little more organised where we put the additional
commands.
2017-11-15 15:57:10 +00:00
SquidDev
0caa133089
Merge pull request #454 from SquidDev-CC/ComputerCraft/hotfix/lazy-computer-peripheral
...
[WIP] Only instantiate ServerComputer on tile ticks
2017-11-15 11:42:54 +00:00
SquidDev
ac08a52323
Merge pull request #480 from Wilma456/ComputerCraft-1/monitorscale
...
Add getTextScale() to Monitor
2017-11-14 23:53:04 +00:00
Steven Dirth
9b2a50cdfc
Merge pull request #362 from KingofGamesYami/ComputerCraft/featurecommand-event
...
Command Event
2017-11-14 23:27:11 +00:00
SquidDev
11d8253d9c
Merge pull request #464 from josephcsible/ComputerCraft/unnecessary
...
Remove unnecessary code
2017-11-14 22:57:36 +00:00
SquidDev
bc2b481918
Merge pull request #289 from Wojbie/ComputerCraft/Speaker-pocket-computer-light
...
Add pocket computer light support to Speaker.
2017-11-14 22:46:01 +00:00
SquidDev
b2b8753ee7
Merge pull request #227 from SquidDev-CC/ComputerCraft/feature/improved-cable
...
Improving cable/wired modem interactions
2017-11-14 21:32:53 +00:00
SquidDev
09da119f27
Merge pull request #451 from SquidDev-CC/ComputerCraft/hotfix/disk-drive-stop
...
Use custom packet to play records, instead of using block events
2017-11-14 21:30:52 +00:00
SquidDev
f8487d1e1c
Merge pull request #453 from SquidDev-CC/ComputerCraft/hotfix/eager-remove-te
...
Remove tile before calling destroy
2017-11-14 21:15:47 +00:00
SquidDev
b6f773ffce
Merge pull request #457 from SquidDev-CC/ComputerCraft/hotfix/computer-reload
...
Turn on ServerComputer instances if they have timed out
2017-11-14 21:14:49 +00:00
SquidDev
c8673473ef
Merge pull request #476 from SquidDev-CC/ComputerCraft/hotfix/printer-clear
...
Fix the printer overwriting the current page
2017-11-14 21:14:10 +00:00
SquidDev
3829815756
Merge pull request #479 from SquidDev-CC/ComputerCraft/feature/network-optimisations
...
Only send terminal state to interacting players
2017-11-14 21:13:17 +00:00
SquidDev
d9d025e33b
Add simple JEI integration
...
- Ensure pocket computers and turtles are distinguished by upgrades and
computer family.
- Ensure disks are distinguished by colour.
- Hide treasure disks from the list
2017-10-25 13:40:35 +01:00
Wilma456 (Jakob0815)
1fe29ab098
Add getTextScale() to Monitor
2017-10-13 12:37:55 +02:00
SquidDev
53f16782ab
Only send terminal state to interacting players
...
This splits the computer state (blinking, label, etc...) and terminal
state into two separate packets. When a computer changes, the computer
state is sent to all players and the terminal state is sent to players
who are curerntly using the computer.
This reduces network usage by a substantial amount.
2017-10-12 10:45:38 +01:00
SquidDev
bfb4f88304
Fix the printer clearing the previous page
...
When printing on top of an already printed page, the previous contents
should be preserved. However, this did not occur as the stack had been
shrunk and so the item was no longer considered a printout.
Closes SquidDev-CC/ComputerCraft#2
2017-10-06 12:04:49 +01:00
SquidDev
fb6d65ec23
Invalidate the network when the peripheral is removed
...
Fixes #83
2017-10-04 21:49:41 +01:00
SquidDev
6b364052c7
Only render breaking animation on the part being hit
2017-10-04 21:49:40 +01:00
SquidDev
7169abcd7b
Ensure the modem's peripheral is incorrectly invalidated when changed
2017-10-04 21:49:40 +01:00
SquidDev
75ccfbdb3d
Migrate cable core block state to an enum
...
This allows us to render the cable "core", as was done pre-1.8.
2017-10-04 21:49:40 +01:00
SquidDev
728644c104
Initial attempt at improving cable/wired modem interactions
...
- Cable and modem can be broken individually
- Ray tracing will go through "holes" in the cable.
- Pick block will determine which part you are looking at.
- Selection box will only highlight the region you are looking at:
modem or cable.
2017-10-04 21:49:37 +01:00
Joseph C. Sible
80ec54eaf6
Remove unnecessary code
...
- Remove unnecessary casts
- Use the diamond operator where possible
- Remove "throws" declarations that aren't actually thrown
- Remove unused local variables
- Remove unused imports
- Remove redundant superinterfaces
2017-09-24 01:23:29 -04:00
SquidDev
01f5d006fc
Fix BlockFaceShape not being overridden for turtles and peripherals
...
This meant one could perform various illogical actions to
non-full-blocks, such as connecting fences and placing paitings.
We also modify the behaviour of isOpaqueCube and isFullCube for
peripherals, only returning false for the case of modems and cables.
2017-09-18 08:33:40 +01:00
SquidDev
cd6b076efe
Turn on ServerComputer instances if they have timed out
2017-09-16 20:09:51 +01:00
SquidDev
fbbfe33e21
Do not instantiate ServerComputer instances in the peripheral provider
...
Instead we create a ComputerProxy, which delegates methods to the
ServerComputer or TileComputerBase, depending on which one exists.
2017-09-15 18:58:13 +01:00
SquidDev
7a916ed8c2
Do not instantiate a ServerComputer for pocket computers's mount
2017-09-15 18:48:57 +01:00
SquidDev
60305cd106
Remove tile before calling destroy
...
This ensures that the tile will updating neighbouring blocks, and so
the destroyed tile will not be wrapped as a peripheral.
2017-09-15 17:40:53 +01:00
SquidDev
afec3743f3
Use custom packet to play records, instead of using block events
...
Breaking a disk drive was not stopping the record being played as the
block event never reached the client. Instead, we send a custom packet
which starts/stops music at a given location.
We also remove all the plumbing for eventReceived/sendBlockEvent from
the generic block/tile classes, as they are no longer used.
Closes #443
2017-09-12 15:46:46 +01:00
Daniel Ratcliffe
61ff91f237
Merge pull request #316 from SquidDev-CC/feature/minecraft-1.12.2
...
Update to 1.12. Bam!
2017-09-10 20:52:26 +01:00
SquidDev
a2da6d9601
Pass the original block in redstone propagation
...
notifyBlockOfStateChange and notifyNeighborsOfStateExcept expect the
block which caused the redstone update, rather than the neighbor block.
Fixes #393
2017-09-10 09:32:02 +01:00
Wojbie
acb5f65e16
Functional change Lignum suggested
2017-07-29 01:14:36 +02:00
SquidDev
d29ffed383
Java 8. Java 8. Does whatever Java 8 can.
...
Default methods, everywhere.
Arrow types, switch on strings.
Lambdas!
Here comes Java 8.
2017-07-25 21:10:48 +01:00
SquidDev
08099f08f2
Initial update to 1.12
...
- Convert most recipes to JSON
- Add JSON factories for impostor and turtle recipes.
- Several mappings changes
- Migrate to Forge's new registry system
2017-07-25 21:10:47 +01:00
SquidDev
bee41e7f97
Avoid deprecated warnings on ItemCable
2017-07-25 21:08:52 +01:00
SquidDev
35425f0f61
Update to 1.11.2
2017-07-25 21:08:51 +01:00
Daniel Ratcliffe
6701403370
Merge pull request #364 from KingofGamesYami/feature/computer-get-label
...
Add .getLabel
2017-07-25 20:06:22 +01:00
SquidDev
c0294e1534
Adds the ability to load custom bios.lua files from resource packs
...
Computer now delegates to IComputerEnvironment which, by default, looks
in the following locations:
- Resouce pack files
- The "debug" folder
- The original ComputerCraft jar
2017-07-14 21:58:58 +01:00
Steven Dirth
4b36ed6719
Add .getLabel to computer peripheral
...
Closes #359
2017-07-09 12:43:50 -05:00
Daniel Ratcliffe
00a1342883
Merge pull request #297 from SquidDev-CC/feature/fire-events
...
Fire Forge events where appropriate
2017-06-28 22:32:22 +01:00
SquidDev
c9a3bcb68b
Replace direct equality with InventoryUtil.areItemsEqual
...
Some IItemHandler.insertItem implementations clone the item, so we must
check whether the object is equal instead.
Fixes #340
2017-06-28 22:11:25 +01:00