Commit graph

2048 commits

Author SHA1 Message Date
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
a66996aeb5
Merge pull request #1615 from EwyBoy/bump-registrate
Bumping registrate version to fix incompatibility with mojmap mods
2021-05-22 17:51:29 +02:00
simibubi
aea44aa3fb
Merge pull request #1613 from reidbhuntley/schematics-crash
Various bugfixes regarding schematics
2021-05-22 17:50:45 +02:00
simibubi
f9ad211fb8 Generate required data for Pepper's bed fix 2021-05-22 17:33:49 +02:00
dunois2737
62026e3f13
update zh_tw for create 0.3.1 2021-05-22 16:10:23 +09:00
dunois2737
9a935969bb
update zh_tw for create 0.3.1 2021-05-22 16:06:26 +09:00
simibubi
56830052f3
Merge pull request #1568 from PepperCode1/mc1.16/fix-bugs
Fix Some Bugs
2021-05-22 04:14:58 +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
Eivind
a2903182b0 Bumping registrate version to fix incompatibility with mojmap mods 2021-05-19 12:20:53 +02: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
fd6e06b487 whoops everything was spinning backwards 2021-05-18 14:46:45 -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
Jozufozu
f6c27c395b
Merge pull request #1599 from PepperCode1/contraption-lighting
Add Lighting to Non-Flywheel Contraptions
2021-05-18 13:58:56 -07:00
PepperBell
18977da884 Minor fixes part 2 2021-05-17 12:07:45 -07:00
Kryppers
6c3bec250f Pixel perfect
Fixed one of the tank rivets being out of place by one pixel.
2021-05-17 20:04:16 +01:00
joker876
a74c8127f3
Update pl_pl.json 2021-05-17 10:59:39 +02: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
JozsefA
6227e81066 TemplateBuffer is no more
- Instead, BufferBuilderReader can decode parts of a BufferBuilder.
 - BufferedModel and its subclasses are now created directly with a ByteBuffer.
 - ContraptionModel renamed to IndexedModel.
 - InstancedModel and IndexedModel both now take model formats as arguments.
 - All of this allows for better abstraction, composition, and control of models rendered with Flywheel.
2021-05-16 15:39:52 -07:00
JozsefA
9ff193946c Refactor InstancedModel to not rely on inheritance
- Instead, MaterialSpecs store the information
 - RenderMaterials are now generic on InstanceData instead of InstancedModel
 - RenderMaterials are directly constructed with and store a MaterialSpec
2021-05-15 16:41:56 -07:00
PepperBell
f33b08d996 Minor fixes
- Fix holder refresh
- Fix SuperByteBuffer light calculation
- Remove unused import
2021-05-15 12:15:06 -07:00