Commit Graph

48 Commits

Author SHA1 Message Date
simibubi
47bd1d9c93 Merge branch 'mc1.15/dev' into mc1.16/dev 2021-04-04 00:58:14 +02:00
JozsefA
75f2516408 Hopefully fix ServerWorld class cast exception
- Avoid changing Entity.world, maintain contraption related state in the mixin.
 - Add a mixin to playSound to shift the position of the sound.
2021-04-03 00:42:21 -07:00
simibubi
2b4ef88fc1 Merge branch 'mc1.15/dev' into mc1.16/dev 2021-03-31 14:50:16 +02:00
JozsefA
65d21c374b Fix crash making step sounds on servers. 2021-03-30 18:50:07 -07:00
JozsefA
c905aa5e2e Merge branch 'mc1.15/dev' into mc1.16/dev
# Conflicts:
#	src/main/java/com/simibubi/create/content/contraptions/components/flywheel/FlyWheelInstance.java
#	src/main/java/com/simibubi/create/content/contraptions/components/mixer/MixerInstance.java
#	src/main/java/com/simibubi/create/content/contraptions/components/press/PressInstance.java
#	src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/chassis/StickerInstance.java
#	src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/render/ContraptionKineticRenderer.java
#	src/main/java/com/simibubi/create/content/contraptions/relays/gauge/GaugeInstance.java
#	src/main/java/com/simibubi/create/content/logistics/block/FlapData.java
#	src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmInstance.java
2021-03-30 14:58:08 -07:00
JozsefA
a2b9dfc28a Change the locks
- InstanceKey is no more.
 - InstanceData and co. keep track of removals and updates.
 - InstancedModel's buffer management is much more sane now.
 - Re-add mixin to #tickBlockEntities and ensure compat with Performant.
 - Move ...backend.instancing.impl to backend.core
2021-03-30 14:14:58 -07:00
9bc25db615 Keep everything up to date 2021-03-27 08:32:23 +01:00
JozsefA
0b25f662dc Frame rate and tick rate limiting with distance.
- Significant performance improvement when dealing with massive amounts of dynamic instances, otherwise marginal.
2021-03-26 16:47:37 -07:00
35c62360be Merge & Port 2021-03-26 16:03:09 +01:00
JozsefA
b18993ed26 Little things.
- Quark magnets don't crash (already fixed).
 - Fix quark magnet leaving behind ghost instances.
 - Fix crash with belt lighting after being placed by contraptions.
 - Simplify tile add/remove mixins and avoid conflict with Performant.
 - Avoid FloatBuffer detour when uploading matrix uniforms.
 - InstancedTileRenderer no longer has to clean up.
 - Properly let go of tickable instances.
2021-03-24 15:48:15 -07:00
4d22b5e9b4 Merge branch 'mc1.15/dev' into mc1.16/dev 2021-03-24 15:07:51 +01:00
7eafbe5757 Merge remote-tracking branch 'origin/mc1.15/dev' into mc1.15/dev 2021-03-24 15:07:04 +01:00
16586747a6 Increase priority, less crashing with performant 2021-03-24 15:06:54 +01:00
cbbf502003 port recent changes 2021-03-24 14:54:24 +01:00
JozsefA
5eae3a53fc Keeps getting hotter.
- Belts now use the new system.
 - Remove ILightListener.java.
 - Listeners can choose to remove themselves.
 - Rename some static GridAlignedBB methods.
2021-03-23 02:12:09 -07:00
JozsefA
20189a86fc Spicy light update listening api.
- Round 1, no profiling done yet, not everything uses it.
 - WeakHashSet could be useful elsewhere, too.
2021-03-23 00:08:31 -07:00
JozsefA
1310b88828 Lieutenant Scatterbrain II.
- Swich to tabs. (not everything is tabs yet)
 - Refactor light and color attributes to their own Enum.
 - Quaternion/pivot/position attribute shader.
 - Always update an instance when the WorldRenderer checks if it should rerender a block.
 - Simplify some names.
 - Remove generics in InstanceData classes.
 - Deployer Tiles now use the oriented material.
 - Press heads now correctly orient themselves.
 - ModelData buffers things faster and is simpler.
2021-03-22 20:20:52 -07:00
c75a0f8aa7 Particular immersion 2021-03-21 17:16:17 +01:00
JozsefA
3d0898c59b Smooth harvesters, step sounds v1. 2021-03-20 13:16:20 -07:00
zelophed
d03ea3488a Merge branch 'mc1.15/dev' into mc1.16/dev
# Conflicts:
#	src/generated/resources/.cache/cache
#	src/generated/resources/assets/create/blockstates/andesite_funnel.json
#	src/generated/resources/assets/create/blockstates/brass_funnel.json
#	src/generated/resources/assets/create/lang/unfinished/de_de.json
#	src/generated/resources/assets/create/lang/unfinished/es_es.json
#	src/generated/resources/assets/create/lang/unfinished/fr_fr.json
#	src/generated/resources/assets/create/lang/unfinished/it_it.json
#	src/generated/resources/assets/create/lang/unfinished/ja_jp.json
#	src/generated/resources/assets/create/lang/unfinished/ko_kr.json
#	src/generated/resources/assets/create/lang/unfinished/nl_nl.json
#	src/generated/resources/assets/create/lang/unfinished/pt_br.json
#	src/main/java/com/simibubi/create/AllBlocks.java
#	src/main/java/com/simibubi/create/compat/jei/category/CreateRecipeCategory.java
#	src/main/java/com/simibubi/create/content/contraptions/components/actors/ContraptionActorData.java
#	src/main/java/com/simibubi/create/content/contraptions/components/actors/HarvesterRenderer.java
#	src/main/java/com/simibubi/create/content/contraptions/components/actors/HarvesterTileEntity.java
#	src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerRenderer.java
#	src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/AbstractContraptionEntity.java
#	src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/AssemblyException.java
#	src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/Contraption.java
#	src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/IDisplayAssemblyExceptions.java
#	src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/MovementBehaviour.java
#	src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/OrientedContraptionEntity.java
#	src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/chassis/LinearChassisBlock.java
#	src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/GantryCarriageBlock.java
#	src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/mounted/CartAssemblerBlock.java
#	src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/render/ContraptionRenderDispatcher.java
#	src/main/java/com/simibubi/create/content/contraptions/fluids/actors/SpoutTileEntity.java
#	src/main/java/com/simibubi/create/content/contraptions/fluids/tank/FluidTankTileEntity.java
#	src/main/java/com/simibubi/create/content/contraptions/goggles/IHaveGoggleInformation.java
#	src/main/java/com/simibubi/create/content/contraptions/particle/RotationIndicatorParticle.java
#	src/main/java/com/simibubi/create/content/contraptions/relays/belt/transport/BeltMovementHandler.java
#	src/main/java/com/simibubi/create/content/curiosities/tools/ExtendoGripItem.java
#	src/main/java/com/simibubi/create/content/logistics/block/funnel/FunnelFilterSlotPositioning.java
#	src/main/java/com/simibubi/create/content/logistics/block/funnel/FunnelMovementBehaviour.java
#	src/main/java/com/simibubi/create/content/logistics/block/funnel/FunnelTileEntity.java
#	src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmInteractionPoint.java
#	src/main/java/com/simibubi/create/content/logistics/item/filter/AbstractFilterScreen.java
#	src/main/java/com/simibubi/create/content/logistics/item/filter/AttributeFilterScreen.java
#	src/main/java/com/simibubi/create/content/schematics/SchematicWorld.java
#	src/main/java/com/simibubi/create/content/schematics/block/SchematicTableScreen.java
#	src/main/java/com/simibubi/create/content/schematics/block/SchematicannonRenderer.java
#	src/main/java/com/simibubi/create/events/ClientEvents.java
#	src/main/java/com/simibubi/create/foundation/block/connected/ConnectedTextureBehaviour.java
#	src/main/java/com/simibubi/create/foundation/collision/CollisionDebugger.java
#	src/main/java/com/simibubi/create/foundation/collision/OBBCollider.java
#	src/main/java/com/simibubi/create/foundation/data/BuilderTransformers.java
#	src/main/java/com/simibubi/create/foundation/gui/AbstractSimiContainerScreen.java
#	src/main/java/com/simibubi/create/foundation/gui/AbstractSimiScreen.java
#	src/main/java/com/simibubi/create/foundation/gui/AllGuiTextures.java
#	src/main/java/com/simibubi/create/foundation/gui/AllIcons.java
#	src/main/java/com/simibubi/create/foundation/gui/widgets/SelectionScrollInput.java
#	src/main/java/com/simibubi/create/foundation/item/TooltipHelper.java
#	src/main/java/com/simibubi/create/foundation/mixin/LightUpdateMixin.java
#	src/main/java/com/simibubi/create/foundation/mixin/RenderHooksMixin.java
#	src/main/java/com/simibubi/create/foundation/render/KineticRenderer.java
#	src/main/java/com/simibubi/create/foundation/render/SuperByteBuffer.java
#	src/main/java/com/simibubi/create/foundation/render/backend/Backend.java
#	src/main/java/com/simibubi/create/foundation/render/backend/instancing/InstancedTileRenderer.java
#	src/main/java/com/simibubi/create/foundation/utility/BlockHelper.java
#	src/main/java/com/simibubi/create/foundation/utility/ColorHelper.java
#	src/main/java/com/simibubi/create/foundation/utility/Lang.java
#	src/main/java/com/simibubi/create/foundation/utility/MatrixStacker.java
#	src/main/java/com/simibubi/create/foundation/utility/TreeCutter.java
#	src/main/java/com/simibubi/create/foundation/utility/VecHelper.java
#	src/main/java/com/simibubi/create/foundation/utility/placement/IPlacementHelper.java
#	src/main/java/com/simibubi/create/foundation/utility/placement/util/PoleHelper.java
2021-03-20 12:58:02 +01:00
JozsefA
e1c16d869d Some semblance of immersive portals compat.
- Each world gets its own KineticRenderer now.
2021-03-15 15:58:41 -07:00
JozsefA
b71c831a07 Lieutenant Scatterbrain.
- User no longer has to manually add instances, new hook instead.
 - Use registrate for InstanceFactories.
 - Instanced levers.
 - Instanced hand cranks.
 - Reorganize PhysicalFloat and LerpedFloat.
2021-03-13 20:45:24 -08:00
simibubi
bea60ccb86 Fix build issues 2021-03-08 17:42:50 +01:00
JozsefA
5499fdbad0 The flappening.
Tunnel and funnel flaps are now rendered with the new engine.
2021-03-02 15:54:31 -08:00
JozsefA
e62d89b21c Everything is lit, hopefully all the time now. 2021-02-24 16:52:49 -08:00
simibubi
355a1dd95d Port new changes 2021-02-19 00:50:05 +01:00
simibubi
d59fea1079 Bloat.
- Auto-Organize inputs
- runData after lang PRs
- change runWhenOn to non-deprecated unsafeRunWhenOn, now that late forge version is required
- Address a few warnings
2021-02-18 19:43:22 +01:00
JozsefA
1e95fe4c7b avoid floating point accuracy errors at high coordinate values.
refactor contraption model translation to be a method in AbstractContraptionEntity.
 - this simplifies the setup required for the fast rendering.
2021-02-14 23:09:17 -08:00
JozsefA
11616a0b16 avoid 'glGet's at all costs 2021-02-13 16:26:34 -08:00
JozsefA
485a0d2f95 hotswapping is more sane now. 2021-02-12 17:30:21 -08:00
JozsefA
a5f3d799d1 kinda separate system capability stuff, should probably clean this up more.
fix lighting glitches on world load.
2021-02-12 16:36:20 -08:00
JozsefA
31a1fd71ce everything is somewhere else 2021-02-11 23:36:05 -08:00
JozsefA
67408e0dff better vertex attributes.
all shaders are now GL 2.0 compatible!!!
contraption structure rendering is technically 2.0 compatible now, need some better handling for that.
2021-02-11 20:03:24 -08:00
JozsefA
3820e11954 get it working again 2021-02-11 02:26:30 -08:00
JozsefA
02114b1d9a begin 2.0 compatibility push, probably not going to be ready for the next release 2021-02-10 17:14:03 -08:00
JozsefA
e93562569b world fog works, fluid fog still doesn't.
better dimension changes.
2021-02-09 21:18:05 -08:00
JozsefA
ee9962b27b fix some new rendering issues that popped up after the revert
proper? optifine shader handling. could use more testing
2021-02-07 22:11:29 -08:00
JozsefA
c9ff31b099 hot swappable rendering
kind of detects optifine
still some kinks to work out
2021-02-07 14:15:52 -08:00
JozsefA
5ba4477ada restore old tile rendering from 3336778052 2021-02-06 02:26:56 -08:00
JozsefA
f319dd5e8d fix #1 finally
start work on shader abstraction
use backend for ebos
fix some issues with ghost instances, more work to be done
2021-02-01 16:16:35 -08:00
JozsefA
b63466774b probably fix the NPEs
start work on adaptive backend
extra sanity stuff for the render manager
massive speedup when rendering a lot of tile entities
2021-01-28 14:39:34 -08:00
JozsefA
e690f2b8ac okay you can use it now
fixed a lighting bug (with a hack, again)
everything now uses the new api
(kinetic components on contraptions are slightly broken)
2021-01-27 14:03:18 -08:00
JozsefA
67d59540cf THIS IS NOT READY FOR USE
new rendering api/pipeline
not everything is there yet, but a lot is
2021-01-26 19:45:13 -08:00
JozsefA
33e66c6e89 pulleys are lit
stabilized things are sort of lit but man is it jank
light volumes have a more sane constructor
try to mess around with contraption layering but it's still jank
2021-01-20 00:47:40 -08:00
JozsefA
37e64e4c1d fix vertex attribute data types
blockcolors and ao now work in contraptions
be smarter about allocating buffers
use gl buffer mapping, more to come
2021-01-15 16:17:13 -08:00
JozsefA
0bc6b11c5b be smart about rebuilding things
not smart enough about contraptions yet
things mostly render in the correct layers
2021-01-14 14:00:20 -08:00
2b615b68bd Fix mixins outside dev env 2021-01-13 09:50:00 +01:00
JozsefA
e5b61891fc update forge and setup mixins 2021-01-12 21:58:40 -08:00