Commit Graph

1650 Commits

Author SHA1 Message Date
PepperBell
ec2a66357f Linked controller spectator fixes
- Deactivate controller if in spectator mode
- Prevent packet handling if in spectator mode, except for resets
- Deactivate controller if a screen is opened
- Resolves #1774
2021-06-13 11:22:42 -07:00
D Melton
673fc3cd8e Make Basin interaction with Funnels work
Allows Basins to interact with downward facing Funnels located at an offset below and to the side. Previously would show a connection between basin and funnel but would not interact with them.
2021-06-13 09:53:05 -07:00
PepperBell
2a19b5eb41 GUI cleanup and fixes
- Change positions of GUI elements to improve the overall experience
- Fix window and extra areas to be perfectly aligned with drawn textures
- Add SlotMovers to new screens
- Fix schematicannon progress bar; Resolves #1674
- Fix black background in curiosities2.png
- Move all title creation to getDisplayName
- Other minor tweaks
2021-06-12 21:16:16 -07:00
JozsefA
d612cfdd34 Merge remote-tracking branch 'origin/mc1.16/dev' into chromatic-projector 2021-06-11 10:31:18 -07:00
JozsefA
c1dadf3860 Instance managers are abstract 2021-06-10 14:34:16 -07:00
reidbhuntley
5bd0c73f45 Flipping pipes
- Pipes not connected to anything will no longer change direction when a non-connective block is placed next to them
2021-06-10 17:12:45 -04:00
simibubi
1b5ede1a5d main menu title
- Added new logo to the Create menu screen
2021-06-10 20:32:17 +02:00
simibubi
1f48c698e8 ITE refactor 2021-06-09 23:48:34 +02:00
simibubi
2852756a68 Deny ProcessingInventories from Mounted Storage 2021-06-09 17:16:10 +02:00
simibubi
971ce29b6a Skip.
- Config UI automatically skips to the layer of config where multiple options are available
- Removed range tooltips
- Config entries in UI list are now sorted by name, with config groups at priority
2021-06-09 16:53:54 +02:00
simibubi
169669680b Colour shift
- Switched to a more readable text colour for the config ui
- Slight tweaks to ponder button colours as well
- Replaced discord link with project page
2021-06-09 16:17:29 +02:00
simibubi
7fae3e4968 Promp
- Changed the layout of save/discard/leave prompts
- Leaving with unsaved changes now gives you the option to save
- Config tooltips now use standard Create tooltip splitting
2021-06-09 13:52:52 +02:00
JozsefA
b4a1fbf2c7 Instanced entities are lit 2021-06-09 00:26:54 -07:00
reidbhuntley
911aec5a3f Gave stockpile switch output a delay (like comparators have) to improve stability 2021-06-08 22:06:34 -04:00
simibubi
212cd593a7 Create menu, Part I
- Added an intermediate menu screen for in-game links and configs
- Couple slight tweaks to config UI
2021-06-09 02:17:32 +02:00
JozsefA
1ce141850b Merge remote-tracking branch 'origin/chromatic-projector' into mc1.16/chromatic-projector 2021-06-07 18:24:25 -07:00
JozsefA
9cc03a81d7 Instanced entities stage 1 2021-06-07 18:12:46 -07:00
PepperCode1
3c84087f15 Fix saw and PSI diffuse
- Fix saw and portable storage/fluid interface diffuse lighting
- Remove "disableDiffuseTransform" option from SuperByteBuffer
- Switch argument order in RenderedContraption constructor to be consistent with superclass (ContraptionWorldHolder)
2021-06-07 16:14:51 -07:00
JozsefA
285b8f98cf Instanced entities stage 0 2021-06-07 02:43:36 -07:00
JozsefA
d47f898c76 Move away from a static backend class, add a registration event 2021-06-06 15:46:16 -07:00
reidbhuntley
12bfc78443 Bundle o' bugfixes
- Fix Extendo Grip not applying extended reach when equipped on rejoin
- Fix mechanical crafters duping + dropping their items when added to minecart contraption
- Fix Wand of Symmetry duping rails under placed cart assemblers
- Lecterns now keep NBT when moved by contraption
- Super glue entities hanging on positions above build limit now get removed
- Fix harvester replanting sweet berry bushes in wrong state
- Cuckoo clock and clockwork bearing now go crazy in unnatural dimensions
2021-06-06 16:59:15 -04:00
reidbhuntley
c97da3868f Prevent AgriCraft/InfinityLib crash 2021-06-05 16:14:16 -04:00
PepperBell
823520e047 Improve handling of dyed blocks
- Create DyedBlockList for storing and accessing a set of dyed blocks
- Switch usage of BlockEntry<?>[] to DyedBlockList in AllBlocks
- These changes also finally fix the compilation error related to generic arrays
2021-06-05 10:43:16 -07:00
reidbhuntley
fec329e3d2 Make deployer check for consumed actions too 2021-06-05 12:29:56 -04:00
reidbhuntley
dff459a75f Fix bad behavior with small-max-stack-sized items when extracting multiple items at once 2021-06-05 12:29:56 -04:00
PepperBell
16cf6a44de Fix ponder typo
- Fix "exacly" typo in adjustable chain gearshift ponder scene
- Resolves #1718
2021-06-04 21:53:04 -07:00
PepperBell
2bada365b3 Registrate colors and organized item rendering
- Use Registrate's block and item color registration instead of running
the events manually
- Move utility color handler methods to foundation.utility
- Move all item rendering classes to foundation.item.render
- Move IBlockVertexColor from foundation.block to
foundation.block.render
- Remove unnecessary raw cast in CreateRegistrate
2021-06-04 21:26:25 -07:00
JozsefA
457fff78f3 Mostly untangle the loading functions, enforce triangles 2021-06-04 17:55:05 -07:00
JozsefA
9bac709dfd Event system, sort of untangle backend 2021-06-04 15:56:46 -07:00
JozsefA
bef6d77a59 Start working on instanced enti- oh wait I've got to do all this other stuff first
- Separate model-level instance management from object-level instance management
 - Separate material management from rendering
 - A few things here and there related to entity instancing
 - Add a rudimentary command to spawn superglue
2021-06-03 21:23:06 -07:00
simibubi
032fa90ec6 Click to Craft
- Added Crafting Blueprints
- Bit of "Ghost-item" Container refactoring
2021-06-03 01:03:43 +02:00
JozsefA
59dd21b85a Merge remote-tracking branch 'origin/mc1.16/dev' into mc1.16/chromatic-projector
# Conflicts:
#	src/main/java/com/simibubi/create/AllContainerTypes.java
#	src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/AbstractContraptionEntity.java
2021-06-01 11:47:15 -07:00
JozsefA
c4b828ba56 Allocate no more than 3 quad->triangle EBOs ever. 2021-05-31 14:58:49 -07:00
simibubi
8fe3901c98 Remove leftover debug call 2021-05-31 22:48:45 +02:00
JozsefA
a526156440 Move a package 2021-05-31 12:51:11 -07:00
reidbhuntley
53ba59c082
Improve stability of sequenced gearshift (esp. for rotations) (#1695) 2021-05-31 15:42:12 -04:00
simibubi
a9ced3fea2 SoundScapes, Part IV
- Fixed diving helmet activating when wielder is only partially submerged in water
- Fixed diving helmet activating for players in creative mode
- Added sounds for the Mechanical Saw
- Added clicking sounds for the Linked Controller
- Gantry contraptions now make contraption noises
- Soundscapes now lower their volume based on the distance between listener and center of noise
2021-05-31 20:48:22 +02:00
simibubi
1532d9e4f6
Merge pull request #1684 from PepperCode1/mc1.16/cobblestone-drops
Cobblestone Drops and Smelting
2021-05-31 16:29:10 +02:00
simibubi
616a515939
Merge pull request #1680 from reidbhuntley/bugfix
More bug fixes
2021-05-31 16:25:37 +02:00
JozsefA
8fab6c4643 Instance triangles 2021-05-30 22:16:03 -07:00
JozsefA
3500b4ec87 Contraption triangles 2021-05-30 20:53:08 -07:00
JozsefA
2300ef2088 Organization, renaming, and fixing a dumb crash 2021-05-30 17:05:41 -07:00
reidbhuntley
a633bc47be Actually, we should prevent all updates caused by SchematicWorld 2021-05-30 14:36:06 -04:00
reidbhuntley
b890204f44 Fix schematic init crash caused by updating null ChunkSections 2021-05-30 01:40:24 -04:00
reidbhuntley
2bedc94bc6 Fix schematic deployment crash caused by some Mekanism blocks 2021-05-29 22:09:58 -04:00
PepperBell
c013345860 Cobblestone drops and smelting
- Make regular palette stone blocks drop their cobblestone variant instead of themselves (unless silk touch is used)
- Add smelting recipes for cobblestone palette blocks
- Rename PaletteBlockPatterns to PaletteBlockPattern
- Move PatternNameType to PaletteBlockPattern
- Rename some fields
2021-05-29 16:31:36 -07:00
reidbhuntley
51c0e347b8 Fix chest minecarts clearing their inventory when disassembled 2021-05-29 15:17:24 -04:00
PepperBell
9235aa93ba JEI Fixes
- Fix #1661: blasting-only recipes would not be shown under the bulk blasting category
- Add ability to remove matching recipes by type while using the category builder
- Fix fan catalyst items being italicized
- Add and tweak some visibility modifiers
2021-05-28 23:10:12 -07:00
reidbhuntley
55abcde5d5 Allow block breakers to work at center of bearing 2021-05-28 23:27:44 -04:00
reidbhuntley
0aaa09260b Fix minecart coupling item dupe 2021-05-28 14:42:47 -04:00
zelophed
5975a3cbac Merge remote-tracking branch 'origin/mc1.16/dev' into mc1.16/dev 2021-05-28 14:42:39 +02:00
zelophed
975d898ac6 all the configs
- make it easier for addon devs to hook into create's config ui
- change the config command to allow for:
  - opening any mod's registered config
  - changing single values at a time

- possibly solve incompatibility with CalemiUtils mod and placement helpers
2021-05-28 14:42:27 +02:00
simibubi
ded259fbc9
Merge pull request #1662 from PepperCode1/mc1.16/piglin-compat
Add Piglin Compat
2021-05-27 14:29:41 +02:00
PepperBell
bcb365baa9 Fix processing for fireproof items with recipes
- Check for smelting and blasting recipes before checking for
fireproof-ness
2021-05-26 20:54:17 -07:00
PepperBell
773f74d33e Add piglin compat
- Fix #678 by adding golden sheets and crushed gold ore to the piglin_loved tag
2021-05-26 20:13:07 -07:00
PepperBell
462089b43a Clean up in world processing
- Use static RecipeWrapper for finding recipes instead of making a new TileEntity every time
- Move InWorldProcessing from logistics to contraptions/processing
- Fix #799 by disallowing blasting processing on fireproof items
2021-05-26 19:47:19 -07:00
simibubi
2e37807e7f
Merge pull request #1657 from reidbhuntley/config-button
Add button to open new config menu
2021-05-26 22:09:20 +02:00
simibubi
09691b4b40 Redstone gamepads
- Added the Linked Controller
2021-05-26 22:03:06 +02:00
reidbhuntley
73fd42baf5 Add button to open new config menu 2021-05-25 22:33:44 -04:00
JozsefA
de451553dd Use VAOs for contraption structures 2021-05-25 12:46:34 -07:00
JozsefA
7f9ff3b7ca Merge remote-tracking branch 'origin/mc1.16/dev' into mc1.16/chromatic-projector 2021-05-25 12:23:55 -07:00
simibubi
ffa252ac25 PR compat 2021-05-25 14:43:08 +02:00
simibubi
4d51e6096b
Merge pull request #1650 from PepperCode1/mc1.16/cleanup
Cleanup and Refactoring
2021-05-25 14:14:12 +02:00
JozsefA
c8814f123b More sane models
- BufferedModel is no longer abstract.
 - InstancedModel no longer inherits from BufferedModel, it accepts one as input.
 - Replace usage of IndexedModel with BufferedModel
2021-05-24 17:50:13 -07:00
PepperBell
d31fe013ce Fix dyed handle compilation error
- Revert DYED_VALVE_HANDLES to using an array instead of a Vector
2021-05-24 13:49:59 -07:00
PepperBell
20cd8da377 Allow registering custom block movement checks
Registering block movement checks works by using one of the six static register methods on an instance of an implementation of one of the six corresponding interfaces. Each one takes some arguments and returns a CheckResult, which defines whether to return from the global check or fall through to the next registered check or fallback check.

- Rename BlockMovementTraits to BlockMovementChecks
- Rename some check methods to be consistent
- Pass World instead of IBlockReader to isBlockAttachedTowards
- Make the bottom half of doors attach up and down
- Remove door check from Contrapion#moveBlock as it is unnecessary
2021-05-24 13:32:39 -07:00
reidbhuntley
3f31b765dd Make fan and nozzles not push players flying in creative 2021-05-24 15:19:54 -04:00
reidbhuntley
0cd49317d7 Revert "Make gantry carriage brittle"
This reverts commit bfc8c3e3
2021-05-23 22:42:03 -04:00
JozsefA
db53b7a3cf Fix gl error spam 2021-05-23 19:36:44 -07:00
JozsefA
341a385628 Merge remote-tracking branch 'origin/mc1.16/dev' into mc1.16/chromatic-projector
# Conflicts:
#	src/generated/resources/assets/create/lang/en_us.json
#	src/main/java/com/simibubi/create/AllBlocks.java
#	src/main/java/com/simibubi/create/AllTileEntities.java
#	src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerTileEntity.java
#	src/main/java/com/simibubi/create/foundation/gui/AllIcons.java
#	src/main/java/com/simibubi/create/foundation/networking/AllPackets.java
#	src/main/resources/assets/create/textures/gui/icons.png
#	src/main/resources/create.mixins.json
2021-05-23 14:11:40 -07:00
reidbhuntley
eb075f683b Allow deployer to place cart assemblers 2021-05-23 16:40:15 -04:00
reidbhuntley
b0a84a9bc1 Fix breaking piston pole making piston base unusable 2021-05-23 15:08:43 -04:00
reidbhuntley
5ec8312322 Fix DoublePlantBlock dupe using deployers 2021-05-23 00:16:01 -04:00
reidbhuntley
73895604c8 Fix filter dupe, allow Schematicannon to place brackets 2021-05-22 21:50:31 -04:00
PepperBell
6c390977d8 Init Cleanup
- Refactor AllContainerTypes to use Registrate
- Replace RegistryEntry in AllEntityTypes and AllFluids with EntityEntry and FluidEntry, respectively
- Make AllEntityTypes use Registrate to register entity renderers instead of a separate method
- Refactor AllColorHandlers
- Fix error when a POI block is moved by a contraption
- Rename some static final fields to be upper snake case
- Make static fields in Create and CreateClient final
- Add I prefix to Coordinate interface
- Fix typo (BracketedTileEntityBehaviour#isBacketPresent)
- Make mixins go in alphabetical order
- Make pack.mcmeta use 2 spaces for indents
2021-05-22 18:00:10 -07:00
JozsefA
9352ef9ede Json program specs, new extension/gamestate system.
- Program specs are now loaded from json instead of being defined in code and registered manually.
 - Within the json spec, a program can define a list of states.
 - A state consists of:
   - A "when" clause.
   - A list of strings to be #defined.
   - A list of extensions to apply at program link time.
 - Each frame, the first state whose "when" clause returns true will be used.
 - A when clause consists of:
  - A state provider defined by a resource location.
  - A value to match.
 - When the value returned by the provider matches the value defined in the when clause, the when clause is considered to be 'true'.
 - There is syntactic sugar for when a provider returns a boolean value.
 - This system is in its infancy, and there is plenty of room for improvement.
2021-05-22 17:45:01 -07:00
reidbhuntley
bfc8c3e306 Make gantry carriage brittle, defer brittle blocks 2021-05-22 17:35:49 -04:00
simibubi
aea44aa3fb
Merge pull request #1613 from reidbhuntley/schematics-crash
Various bugfixes regarding schematics
2021-05-22 17:50:45 +02:00
reidbhuntley
c2cc124239 Better support for partially safe NBT writing 2021-05-21 20:33:28 -04:00
reidbhuntley
68b3ba7215 Allow Schematicannon to defer blocks to print at end 2021-05-21 16:57:01 -04:00
reidbhuntley
ff5984a48e Prevent rail fix from allowing floating rails 2021-05-21 13:38:13 -04:00
reidbhuntley
e1f1b1af9f Clean up gantry fix 2021-05-21 13:21:05 -04:00
reidbhuntley
c7d3166fd1 Clean up gantry fix 2021-05-21 13:18:15 -04:00
reidbhuntley
d0040260d7 Assemble gantry carriage when shaft is extended 2021-05-21 00:46:35 -04:00
reidbhuntley
305b16fea9 Store Schematicannon options in block item as NBT 2021-05-20 22:53:08 -04:00
JozsefA
d58897d59a Nothing in particular 2021-05-20 17:59:26 -07:00
reidbhuntley
badec3aad0 Add proper rotation and mirroring to CartAssemblerBlock 2021-05-20 16:31:04 -04:00
reidbhuntley
8edfa73352 Hack to prevent rails placed by cannon from updating 2021-05-20 13:50:42 -04:00
reidbhuntley
947496995a Make schematics write tags for filtering behaviour 2021-05-20 00:45:51 -04:00
JozsefA
9a178ef9d8 Abstract fog
- WorldPrograms no longer accept an explicit fog mode.
 - They now inherit from a class that takes a list of arbitrary shader extensions
2021-05-19 19:11:06 -07:00
JozsefA
4d755dc506 More simplification
- Move more stuff to the flywheel namespace
 - Give up on ShaderConstants, there's a better way to do it
 - A semblance of better crash reports
2021-05-19 16:35:37 -07:00
reidbhuntley
e916b06862 Added model data refresh mixin 2021-05-18 21:52:35 -04:00
PepperBell
480d86c5ad Fix beds on contraptions
- Add beds tag to brittle tag
- Let contraptions know bed halves are attached to each other
2021-05-18 18:50:54 -07:00
JozsefA
c299e84512 Be lazy grabbing instance fields statically 2021-05-18 14:41:16 -07:00
JozsefA
c48b94f0fb Merge remote-tracking branch 'origin/chromatic-projector' into mc1.16/chromatic-projector
# Conflicts:
#	src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/render/ContraptionRenderDispatcher.java
2021-05-18 14:07:34 -07:00
JozsefA
55703d8838 Move to the template system and overhaul instance attributes
- All material shaders now use the template system.
 - Because of the template system, we can know what attributes a material has, along with how they're formatted.
 - All of the *Attribute enums are effectively inlined, as the context they used to provide is no longer needed.
2021-05-18 14:05:52 -07:00
PepperBell
18977da884 Minor fixes part 2 2021-05-17 12:07:45 -07:00
JozsefA
695fe98d28 MaterialSpecs choose their model formats 2021-05-16 20:37:26 -07:00
PepperBell
fd6c930a65 Merge remote-tracking branch 'upstream/chromatic-projector' into
contraption-lighting

# Conflicts:
#	src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/render/RenderedContraption.java
#	src/main/java/com/simibubi/create/foundation/render/SuperByteBuffer.java
2021-05-16 19:12:14 -07:00
PepperBell
61b101f0c6 Refactor contraption matrices
- Create ContraptionMatrices class for better management of matrices during the contraption rendering process
- Fix diffuse lighting when rendering contraptions without Flywheel
- Clean up TileEntityRenderHelper
- Add disableDiffuseTransform to SuperByteBuffer and fix light calculation logic
2021-05-16 18:42:56 -07:00