mirror of
https://github.com/Creators-of-Create/Create.git
synced 2025-02-27 20:34:43 +01:00
What's in a name
- Rename all *Instance -> *Visual. - FlapData -> FlapInstance. - Rename VisualizationContext variables.
This commit is contained in:
parent
5bac9e5224
commit
1c46bc8ae1
74 changed files with 431 additions and 453 deletions
|
@ -7,34 +7,34 @@ import com.simibubi.create.content.contraptions.actors.contraptionControls.Contr
|
|||
import com.simibubi.create.content.contraptions.actors.contraptionControls.ContraptionControlsRenderer;
|
||||
import com.simibubi.create.content.contraptions.actors.harvester.HarvesterBlockEntity;
|
||||
import com.simibubi.create.content.contraptions.actors.harvester.HarvesterRenderer;
|
||||
import com.simibubi.create.content.contraptions.actors.psi.PSIInstance;
|
||||
import com.simibubi.create.content.contraptions.actors.psi.PSIVisual;
|
||||
import com.simibubi.create.content.contraptions.actors.psi.PortableFluidInterfaceBlockEntity;
|
||||
import com.simibubi.create.content.contraptions.actors.psi.PortableItemInterfaceBlockEntity;
|
||||
import com.simibubi.create.content.contraptions.actors.psi.PortableStorageInterfaceRenderer;
|
||||
import com.simibubi.create.content.contraptions.actors.roller.RollerBlockEntity;
|
||||
import com.simibubi.create.content.contraptions.actors.roller.RollerRenderer;
|
||||
import com.simibubi.create.content.contraptions.bearing.BearingInstance;
|
||||
import com.simibubi.create.content.contraptions.bearing.BearingRenderer;
|
||||
import com.simibubi.create.content.contraptions.bearing.BearingVisual;
|
||||
import com.simibubi.create.content.contraptions.bearing.ClockworkBearingBlockEntity;
|
||||
import com.simibubi.create.content.contraptions.bearing.MechanicalBearingBlockEntity;
|
||||
import com.simibubi.create.content.contraptions.bearing.WindmillBearingBlockEntity;
|
||||
import com.simibubi.create.content.contraptions.chassis.ChassisBlockEntity;
|
||||
import com.simibubi.create.content.contraptions.chassis.StickerBlockEntity;
|
||||
import com.simibubi.create.content.contraptions.chassis.StickerInstance;
|
||||
import com.simibubi.create.content.contraptions.chassis.StickerRenderer;
|
||||
import com.simibubi.create.content.contraptions.chassis.StickerVisual;
|
||||
import com.simibubi.create.content.contraptions.elevator.ElevatorContactBlockEntity;
|
||||
import com.simibubi.create.content.contraptions.elevator.ElevatorPulleyBlockEntity;
|
||||
import com.simibubi.create.content.contraptions.elevator.ElevatorPulleyRenderer;
|
||||
import com.simibubi.create.content.contraptions.gantry.GantryCarriageBlockEntity;
|
||||
import com.simibubi.create.content.contraptions.gantry.GantryCarriageInstance;
|
||||
import com.simibubi.create.content.contraptions.gantry.GantryCarriageRenderer;
|
||||
import com.simibubi.create.content.contraptions.gantry.GantryCarriageVisual;
|
||||
import com.simibubi.create.content.contraptions.mounted.CartAssemblerBlockEntity;
|
||||
import com.simibubi.create.content.contraptions.piston.MechanicalPistonBlockEntity;
|
||||
import com.simibubi.create.content.contraptions.piston.MechanicalPistonRenderer;
|
||||
import com.simibubi.create.content.contraptions.pulley.HosePulleyInstance;
|
||||
import com.simibubi.create.content.contraptions.pulley.HosePulleyVisual;
|
||||
import com.simibubi.create.content.contraptions.pulley.PulleyBlockEntity;
|
||||
import com.simibubi.create.content.contraptions.pulley.PulleyRenderer;
|
||||
import com.simibubi.create.content.contraptions.pulley.RopePulleyInstance;
|
||||
import com.simibubi.create.content.contraptions.pulley.RopePulleyVisual;
|
||||
import com.simibubi.create.content.decoration.copycat.CopycatBlockEntity;
|
||||
import com.simibubi.create.content.decoration.placard.PlacardBlockEntity;
|
||||
import com.simibubi.create.content.decoration.placard.PlacardRenderer;
|
||||
|
@ -43,13 +43,13 @@ import com.simibubi.create.content.decoration.slidingDoor.SlidingDoorRenderer;
|
|||
import com.simibubi.create.content.decoration.steamWhistle.WhistleBlockEntity;
|
||||
import com.simibubi.create.content.decoration.steamWhistle.WhistleRenderer;
|
||||
import com.simibubi.create.content.equipment.armor.BacktankBlockEntity;
|
||||
import com.simibubi.create.content.equipment.armor.BacktankInstance;
|
||||
import com.simibubi.create.content.equipment.armor.BacktankRenderer;
|
||||
import com.simibubi.create.content.equipment.armor.BacktankVisual;
|
||||
import com.simibubi.create.content.equipment.bell.BellRenderer;
|
||||
import com.simibubi.create.content.equipment.bell.HauntedBellBlockEntity;
|
||||
import com.simibubi.create.content.equipment.bell.PeculiarBellBlockEntity;
|
||||
import com.simibubi.create.content.equipment.clipboard.ClipboardBlockEntity;
|
||||
import com.simibubi.create.content.equipment.toolbox.ToolBoxInstance;
|
||||
import com.simibubi.create.content.equipment.toolbox.ToolBoxVisual;
|
||||
import com.simibubi.create.content.equipment.toolbox.ToolboxBlockEntity;
|
||||
import com.simibubi.create.content.equipment.toolbox.ToolboxRenderer;
|
||||
import com.simibubi.create.content.fluids.drain.ItemDrainBlockEntity;
|
||||
|
@ -61,99 +61,99 @@ import com.simibubi.create.content.fluids.pipes.SmartFluidPipeBlockEntity;
|
|||
import com.simibubi.create.content.fluids.pipes.StraightPipeBlockEntity;
|
||||
import com.simibubi.create.content.fluids.pipes.TransparentStraightPipeRenderer;
|
||||
import com.simibubi.create.content.fluids.pipes.valve.FluidValveBlockEntity;
|
||||
import com.simibubi.create.content.fluids.pipes.valve.FluidValveInstance;
|
||||
import com.simibubi.create.content.fluids.pipes.valve.FluidValveRenderer;
|
||||
import com.simibubi.create.content.fluids.pipes.valve.FluidValveVisual;
|
||||
import com.simibubi.create.content.fluids.pump.PumpBlockEntity;
|
||||
import com.simibubi.create.content.fluids.pump.PumpCogInstance;
|
||||
import com.simibubi.create.content.fluids.pump.PumpCogVisual;
|
||||
import com.simibubi.create.content.fluids.pump.PumpRenderer;
|
||||
import com.simibubi.create.content.fluids.spout.SpoutBlockEntity;
|
||||
import com.simibubi.create.content.fluids.spout.SpoutRenderer;
|
||||
import com.simibubi.create.content.fluids.tank.CreativeFluidTankBlockEntity;
|
||||
import com.simibubi.create.content.fluids.tank.FluidTankBlockEntity;
|
||||
import com.simibubi.create.content.fluids.tank.FluidTankRenderer;
|
||||
import com.simibubi.create.content.kinetics.base.CutoutRotatingInstance;
|
||||
import com.simibubi.create.content.kinetics.base.HalfShaftInstance;
|
||||
import com.simibubi.create.content.kinetics.base.HorizontalHalfShaftInstance;
|
||||
import com.simibubi.create.content.kinetics.base.CutoutRotatingVisual;
|
||||
import com.simibubi.create.content.kinetics.base.HalfShaftVisual;
|
||||
import com.simibubi.create.content.kinetics.base.HorizontalHalfShaftVisual;
|
||||
import com.simibubi.create.content.kinetics.base.KineticBlockEntity;
|
||||
import com.simibubi.create.content.kinetics.base.KineticBlockEntityRenderer;
|
||||
import com.simibubi.create.content.kinetics.base.ShaftInstance;
|
||||
import com.simibubi.create.content.kinetics.base.ShaftRenderer;
|
||||
import com.simibubi.create.content.kinetics.base.SingleRotatingInstance;
|
||||
import com.simibubi.create.content.kinetics.base.ShaftVisual;
|
||||
import com.simibubi.create.content.kinetics.base.SingleRotatingVisual;
|
||||
import com.simibubi.create.content.kinetics.belt.BeltBlockEntity;
|
||||
import com.simibubi.create.content.kinetics.belt.BeltVisual;
|
||||
import com.simibubi.create.content.kinetics.belt.BeltRenderer;
|
||||
import com.simibubi.create.content.kinetics.belt.BeltVisual;
|
||||
import com.simibubi.create.content.kinetics.chainDrive.ChainGearshiftBlockEntity;
|
||||
import com.simibubi.create.content.kinetics.clock.CuckooClockBlockEntity;
|
||||
import com.simibubi.create.content.kinetics.clock.CuckooClockRenderer;
|
||||
import com.simibubi.create.content.kinetics.crafter.MechanicalCrafterBlockEntity;
|
||||
import com.simibubi.create.content.kinetics.crafter.MechanicalCrafterRenderer;
|
||||
import com.simibubi.create.content.kinetics.crafter.ShaftlessCogwheelInstance;
|
||||
import com.simibubi.create.content.kinetics.crafter.ShaftlessCogwheelVisual;
|
||||
import com.simibubi.create.content.kinetics.crank.HandCrankBlockEntity;
|
||||
import com.simibubi.create.content.kinetics.crank.HandCrankInstance;
|
||||
import com.simibubi.create.content.kinetics.crank.HandCrankRenderer;
|
||||
import com.simibubi.create.content.kinetics.crank.HandCrankVisual;
|
||||
import com.simibubi.create.content.kinetics.crank.ValveHandleBlockEntity;
|
||||
import com.simibubi.create.content.kinetics.crusher.CrushingWheelBlockEntity;
|
||||
import com.simibubi.create.content.kinetics.crusher.CrushingWheelControllerBlockEntity;
|
||||
import com.simibubi.create.content.kinetics.deployer.DeployerBlockEntity;
|
||||
import com.simibubi.create.content.kinetics.deployer.DeployerInstance;
|
||||
import com.simibubi.create.content.kinetics.deployer.DeployerRenderer;
|
||||
import com.simibubi.create.content.kinetics.deployer.DeployerVisual;
|
||||
import com.simibubi.create.content.kinetics.drill.DrillBlockEntity;
|
||||
import com.simibubi.create.content.kinetics.drill.DrillInstance;
|
||||
import com.simibubi.create.content.kinetics.drill.DrillRenderer;
|
||||
import com.simibubi.create.content.kinetics.drill.DrillVisual;
|
||||
import com.simibubi.create.content.kinetics.fan.EncasedFanBlockEntity;
|
||||
import com.simibubi.create.content.kinetics.fan.EncasedFanRenderer;
|
||||
import com.simibubi.create.content.kinetics.fan.FanInstance;
|
||||
import com.simibubi.create.content.kinetics.fan.FanVisual;
|
||||
import com.simibubi.create.content.kinetics.fan.NozzleBlockEntity;
|
||||
import com.simibubi.create.content.kinetics.flywheel.FlywheelBlockEntity;
|
||||
import com.simibubi.create.content.kinetics.flywheel.FlywheelInstance;
|
||||
import com.simibubi.create.content.kinetics.flywheel.FlywheelRenderer;
|
||||
import com.simibubi.create.content.kinetics.flywheel.FlywheelVisual;
|
||||
import com.simibubi.create.content.kinetics.gantry.GantryShaftBlockEntity;
|
||||
import com.simibubi.create.content.kinetics.gauge.GaugeInstance;
|
||||
import com.simibubi.create.content.kinetics.gauge.GaugeRenderer;
|
||||
import com.simibubi.create.content.kinetics.gauge.GaugeVisual;
|
||||
import com.simibubi.create.content.kinetics.gauge.SpeedGaugeBlockEntity;
|
||||
import com.simibubi.create.content.kinetics.gauge.StressGaugeBlockEntity;
|
||||
import com.simibubi.create.content.kinetics.gearbox.GearboxBlockEntity;
|
||||
import com.simibubi.create.content.kinetics.gearbox.GearboxInstance;
|
||||
import com.simibubi.create.content.kinetics.gearbox.GearboxRenderer;
|
||||
import com.simibubi.create.content.kinetics.gearbox.GearboxVisual;
|
||||
import com.simibubi.create.content.kinetics.mechanicalArm.ArmBlockEntity;
|
||||
import com.simibubi.create.content.kinetics.mechanicalArm.ArmInstance;
|
||||
import com.simibubi.create.content.kinetics.mechanicalArm.ArmRenderer;
|
||||
import com.simibubi.create.content.kinetics.mechanicalArm.ArmVisual;
|
||||
import com.simibubi.create.content.kinetics.millstone.MillstoneBlockEntity;
|
||||
import com.simibubi.create.content.kinetics.millstone.MillstoneCogInstance;
|
||||
import com.simibubi.create.content.kinetics.millstone.MillstoneCogVisual;
|
||||
import com.simibubi.create.content.kinetics.millstone.MillstoneRenderer;
|
||||
import com.simibubi.create.content.kinetics.mixer.MechanicalMixerBlockEntity;
|
||||
import com.simibubi.create.content.kinetics.mixer.MechanicalMixerRenderer;
|
||||
import com.simibubi.create.content.kinetics.mixer.MixerInstance;
|
||||
import com.simibubi.create.content.kinetics.mixer.MixerVisual;
|
||||
import com.simibubi.create.content.kinetics.motor.CreativeMotorBlockEntity;
|
||||
import com.simibubi.create.content.kinetics.motor.CreativeMotorRenderer;
|
||||
import com.simibubi.create.content.kinetics.press.MechanicalPressBlockEntity;
|
||||
import com.simibubi.create.content.kinetics.press.MechanicalPressRenderer;
|
||||
import com.simibubi.create.content.kinetics.press.PressInstance;
|
||||
import com.simibubi.create.content.kinetics.press.PressVisual;
|
||||
import com.simibubi.create.content.kinetics.saw.SawBlockEntity;
|
||||
import com.simibubi.create.content.kinetics.saw.SawInstance;
|
||||
import com.simibubi.create.content.kinetics.saw.SawRenderer;
|
||||
import com.simibubi.create.content.kinetics.saw.SawVisual;
|
||||
import com.simibubi.create.content.kinetics.simpleRelays.BracketedKineticBlockEntity;
|
||||
import com.simibubi.create.content.kinetics.simpleRelays.BracketedKineticBlockEntityInstance;
|
||||
import com.simibubi.create.content.kinetics.simpleRelays.BracketedKineticBlockEntityRenderer;
|
||||
import com.simibubi.create.content.kinetics.simpleRelays.BracketedKineticBlockEntityVisual;
|
||||
import com.simibubi.create.content.kinetics.simpleRelays.SimpleKineticBlockEntity;
|
||||
import com.simibubi.create.content.kinetics.simpleRelays.encased.EncasedCogInstance;
|
||||
import com.simibubi.create.content.kinetics.simpleRelays.encased.EncasedCogRenderer;
|
||||
import com.simibubi.create.content.kinetics.simpleRelays.encased.EncasedCogVisual;
|
||||
import com.simibubi.create.content.kinetics.speedController.SpeedControllerBlockEntity;
|
||||
import com.simibubi.create.content.kinetics.speedController.SpeedControllerRenderer;
|
||||
import com.simibubi.create.content.kinetics.steamEngine.PoweredShaftBlockEntity;
|
||||
import com.simibubi.create.content.kinetics.steamEngine.SteamEngineBlockEntity;
|
||||
import com.simibubi.create.content.kinetics.steamEngine.SteamEngineInstance;
|
||||
import com.simibubi.create.content.kinetics.steamEngine.SteamEngineRenderer;
|
||||
import com.simibubi.create.content.kinetics.steamEngine.SteamEngineVisual;
|
||||
import com.simibubi.create.content.kinetics.transmission.ClutchBlockEntity;
|
||||
import com.simibubi.create.content.kinetics.transmission.GearshiftBlockEntity;
|
||||
import com.simibubi.create.content.kinetics.transmission.SplitShaftInstance;
|
||||
import com.simibubi.create.content.kinetics.transmission.SplitShaftRenderer;
|
||||
import com.simibubi.create.content.kinetics.transmission.SplitShaftVisual;
|
||||
import com.simibubi.create.content.kinetics.transmission.sequencer.SequencedGearshiftBlockEntity;
|
||||
import com.simibubi.create.content.kinetics.turntable.TurntableBlockEntity;
|
||||
import com.simibubi.create.content.kinetics.waterwheel.LargeWaterWheelBlockEntity;
|
||||
import com.simibubi.create.content.kinetics.waterwheel.WaterWheelBlockEntity;
|
||||
import com.simibubi.create.content.kinetics.waterwheel.WaterWheelInstance;
|
||||
import com.simibubi.create.content.kinetics.waterwheel.WaterWheelRenderer;
|
||||
import com.simibubi.create.content.kinetics.waterwheel.WaterWheelVisual;
|
||||
import com.simibubi.create.content.logistics.chute.ChuteBlockEntity;
|
||||
import com.simibubi.create.content.logistics.chute.ChuteRenderer;
|
||||
import com.simibubi.create.content.logistics.chute.SmartChuteBlockEntity;
|
||||
|
@ -162,14 +162,14 @@ import com.simibubi.create.content.logistics.crate.CreativeCrateBlockEntity;
|
|||
import com.simibubi.create.content.logistics.depot.DepotBlockEntity;
|
||||
import com.simibubi.create.content.logistics.depot.DepotRenderer;
|
||||
import com.simibubi.create.content.logistics.depot.EjectorBlockEntity;
|
||||
import com.simibubi.create.content.logistics.depot.EjectorInstance;
|
||||
import com.simibubi.create.content.logistics.depot.EjectorRenderer;
|
||||
import com.simibubi.create.content.logistics.depot.EjectorVisual;
|
||||
import com.simibubi.create.content.logistics.funnel.FunnelBlockEntity;
|
||||
import com.simibubi.create.content.logistics.funnel.FunnelInstance;
|
||||
import com.simibubi.create.content.logistics.funnel.FunnelRenderer;
|
||||
import com.simibubi.create.content.logistics.funnel.FunnelVisual;
|
||||
import com.simibubi.create.content.logistics.tunnel.BeltTunnelBlockEntity;
|
||||
import com.simibubi.create.content.logistics.tunnel.BeltTunnelInstance;
|
||||
import com.simibubi.create.content.logistics.tunnel.BeltTunnelRenderer;
|
||||
import com.simibubi.create.content.logistics.tunnel.BeltTunnelVisual;
|
||||
import com.simibubi.create.content.logistics.tunnel.BrassTunnelBlockEntity;
|
||||
import com.simibubi.create.content.logistics.vault.ItemVaultBlockEntity;
|
||||
import com.simibubi.create.content.processing.basin.BasinBlockEntity;
|
||||
|
@ -177,10 +177,10 @@ import com.simibubi.create.content.processing.basin.BasinRenderer;
|
|||
import com.simibubi.create.content.processing.burner.BlazeBurnerBlockEntity;
|
||||
import com.simibubi.create.content.processing.burner.BlazeBurnerRenderer;
|
||||
import com.simibubi.create.content.redstone.analogLever.AnalogLeverBlockEntity;
|
||||
import com.simibubi.create.content.redstone.analogLever.AnalogLeverInstance;
|
||||
import com.simibubi.create.content.redstone.analogLever.AnalogLeverRenderer;
|
||||
import com.simibubi.create.content.redstone.diodes.BrassDiodeInstance;
|
||||
import com.simibubi.create.content.redstone.analogLever.AnalogLeverVisual;
|
||||
import com.simibubi.create.content.redstone.diodes.BrassDiodeRenderer;
|
||||
import com.simibubi.create.content.redstone.diodes.BrassDiodeVisual;
|
||||
import com.simibubi.create.content.redstone.diodes.PulseExtenderBlockEntity;
|
||||
import com.simibubi.create.content.redstone.diodes.PulseRepeaterBlockEntity;
|
||||
import com.simibubi.create.content.redstone.displayLink.DisplayLinkBlockEntity;
|
||||
|
@ -195,8 +195,8 @@ import com.simibubi.create.content.redstone.nixieTube.NixieTubeRenderer;
|
|||
import com.simibubi.create.content.redstone.smartObserver.SmartObserverBlockEntity;
|
||||
import com.simibubi.create.content.redstone.thresholdSwitch.ThresholdSwitchBlockEntity;
|
||||
import com.simibubi.create.content.schematics.cannon.SchematicannonBlockEntity;
|
||||
import com.simibubi.create.content.schematics.cannon.SchematicannonInstance;
|
||||
import com.simibubi.create.content.schematics.cannon.SchematicannonRenderer;
|
||||
import com.simibubi.create.content.schematics.cannon.SchematicannonVisual;
|
||||
import com.simibubi.create.content.schematics.table.SchematicTableBlockEntity;
|
||||
import com.simibubi.create.content.trains.bogey.BogeyBlockEntityRenderer;
|
||||
import com.simibubi.create.content.trains.bogey.StandardBogeyBlockEntity;
|
||||
|
@ -210,9 +210,9 @@ import com.simibubi.create.content.trains.station.StationBlockEntity;
|
|||
import com.simibubi.create.content.trains.station.StationRenderer;
|
||||
import com.simibubi.create.content.trains.track.FakeTrackBlockEntity;
|
||||
import com.simibubi.create.content.trains.track.TrackBlockEntity;
|
||||
import com.simibubi.create.content.trains.track.TrackInstance;
|
||||
import com.simibubi.create.content.trains.track.TrackMaterial;
|
||||
import com.simibubi.create.content.trains.track.TrackRenderer;
|
||||
import com.simibubi.create.content.trains.track.TrackVisual;
|
||||
import com.simibubi.create.foundation.blockEntity.renderer.SmartBlockEntityRenderer;
|
||||
import com.tterrag.registrate.util.entry.BlockEntityEntry;
|
||||
|
||||
|
@ -221,7 +221,7 @@ public class AllBlockEntityTypes {
|
|||
// Schematics
|
||||
public static final BlockEntityEntry<SchematicannonBlockEntity> SCHEMATICANNON = REGISTRATE
|
||||
.blockEntity("schematicannon", SchematicannonBlockEntity::new)
|
||||
.instance(() -> SchematicannonInstance::new)
|
||||
.instance(() -> SchematicannonVisual::new)
|
||||
.validBlocks(AllBlocks.SCHEMATICANNON)
|
||||
.renderer(() -> SchematicannonRenderer::new)
|
||||
.register();
|
||||
|
@ -234,28 +234,28 @@ public class AllBlockEntityTypes {
|
|||
// Kinetics
|
||||
public static final BlockEntityEntry<BracketedKineticBlockEntity> BRACKETED_KINETIC = REGISTRATE
|
||||
.blockEntity("simple_kinetic", BracketedKineticBlockEntity::new)
|
||||
.instance(() -> BracketedKineticBlockEntityInstance::new, false)
|
||||
.instance(() -> BracketedKineticBlockEntityVisual::new, false)
|
||||
.validBlocks(AllBlocks.SHAFT, AllBlocks.COGWHEEL, AllBlocks.LARGE_COGWHEEL)
|
||||
.renderer(() -> BracketedKineticBlockEntityRenderer::new)
|
||||
.register();
|
||||
|
||||
public static final BlockEntityEntry<CreativeMotorBlockEntity> MOTOR = REGISTRATE
|
||||
.blockEntity("motor", CreativeMotorBlockEntity::new)
|
||||
.instance(() -> HalfShaftInstance::new, false)
|
||||
.instance(() -> HalfShaftVisual::new, false)
|
||||
.validBlocks(AllBlocks.CREATIVE_MOTOR)
|
||||
.renderer(() -> CreativeMotorRenderer::new)
|
||||
.register();
|
||||
|
||||
public static final BlockEntityEntry<GearboxBlockEntity> GEARBOX = REGISTRATE
|
||||
.blockEntity("gearbox", GearboxBlockEntity::new)
|
||||
.instance(() -> GearboxInstance::new, false)
|
||||
.instance(() -> GearboxVisual::new, false)
|
||||
.validBlocks(AllBlocks.GEARBOX)
|
||||
.renderer(() -> GearboxRenderer::new)
|
||||
.register();
|
||||
|
||||
public static final BlockEntityEntry<KineticBlockEntity> ENCASED_SHAFT = REGISTRATE
|
||||
.blockEntity("encased_shaft", KineticBlockEntity::new)
|
||||
.instance(() -> ShaftInstance::new, false)
|
||||
.instance(() -> ShaftVisual::new, false)
|
||||
.validBlocks(AllBlocks.ANDESITE_ENCASED_SHAFT, AllBlocks.BRASS_ENCASED_SHAFT, AllBlocks.ENCASED_CHAIN_DRIVE,
|
||||
AllBlocks.METAL_GIRDER_ENCASED_SHAFT)
|
||||
.renderer(() -> ShaftRenderer::new)
|
||||
|
@ -263,28 +263,28 @@ public class AllBlockEntityTypes {
|
|||
|
||||
public static final BlockEntityEntry<SimpleKineticBlockEntity> ENCASED_COGWHEEL = REGISTRATE
|
||||
.blockEntity("encased_cogwheel", SimpleKineticBlockEntity::new)
|
||||
.instance(() -> EncasedCogInstance::small, false)
|
||||
.instance(() -> EncasedCogVisual::small, false)
|
||||
.validBlocks(AllBlocks.ANDESITE_ENCASED_COGWHEEL, AllBlocks.BRASS_ENCASED_COGWHEEL)
|
||||
.renderer(() -> EncasedCogRenderer::small)
|
||||
.register();
|
||||
|
||||
public static final BlockEntityEntry<SimpleKineticBlockEntity> ENCASED_LARGE_COGWHEEL = REGISTRATE
|
||||
.blockEntity("encased_large_cogwheel", SimpleKineticBlockEntity::new)
|
||||
.instance(() -> EncasedCogInstance::large, false)
|
||||
.instance(() -> EncasedCogVisual::large, false)
|
||||
.validBlocks(AllBlocks.ANDESITE_ENCASED_LARGE_COGWHEEL, AllBlocks.BRASS_ENCASED_LARGE_COGWHEEL)
|
||||
.renderer(() -> EncasedCogRenderer::large)
|
||||
.register();
|
||||
|
||||
public static final BlockEntityEntry<ChainGearshiftBlockEntity> ADJUSTABLE_CHAIN_GEARSHIFT = REGISTRATE
|
||||
.blockEntity("adjustable_chain_gearshift", ChainGearshiftBlockEntity::new)
|
||||
.instance(() -> ShaftInstance::new, false)
|
||||
.instance(() -> ShaftVisual::new, false)
|
||||
.validBlocks(AllBlocks.ADJUSTABLE_CHAIN_GEARSHIFT)
|
||||
.renderer(() -> ShaftRenderer::new)
|
||||
.register();
|
||||
|
||||
public static final BlockEntityEntry<EncasedFanBlockEntity> ENCASED_FAN = REGISTRATE
|
||||
.blockEntity("encased_fan", EncasedFanBlockEntity::new)
|
||||
.instance(() -> FanInstance::new, false)
|
||||
.instance(() -> FanVisual::new, false)
|
||||
.validBlocks(AllBlocks.ENCASED_FAN)
|
||||
.renderer(() -> EncasedFanRenderer::new)
|
||||
.register();
|
||||
|
@ -297,35 +297,35 @@ public class AllBlockEntityTypes {
|
|||
|
||||
public static final BlockEntityEntry<ClutchBlockEntity> CLUTCH = REGISTRATE
|
||||
.blockEntity("clutch", ClutchBlockEntity::new)
|
||||
.instance(() -> SplitShaftInstance::new, false)
|
||||
.instance(() -> SplitShaftVisual::new, false)
|
||||
.validBlocks(AllBlocks.CLUTCH)
|
||||
.renderer(() -> SplitShaftRenderer::new)
|
||||
.register();
|
||||
|
||||
public static final BlockEntityEntry<GearshiftBlockEntity> GEARSHIFT = REGISTRATE
|
||||
.blockEntity("gearshift", GearshiftBlockEntity::new)
|
||||
.instance(() -> SplitShaftInstance::new, false)
|
||||
.instance(() -> SplitShaftVisual::new, false)
|
||||
.validBlocks(AllBlocks.GEARSHIFT)
|
||||
.renderer(() -> SplitShaftRenderer::new)
|
||||
.register();
|
||||
|
||||
public static final BlockEntityEntry<TurntableBlockEntity> TURNTABLE = REGISTRATE
|
||||
.blockEntity("turntable", TurntableBlockEntity::new)
|
||||
.instance(() -> SingleRotatingInstance::new, false)
|
||||
.instance(() -> SingleRotatingVisual::new, false)
|
||||
.validBlocks(AllBlocks.TURNTABLE)
|
||||
.renderer(() -> KineticBlockEntityRenderer::new)
|
||||
.register();
|
||||
|
||||
public static final BlockEntityEntry<HandCrankBlockEntity> HAND_CRANK = REGISTRATE
|
||||
.blockEntity("hand_crank", HandCrankBlockEntity::new)
|
||||
.instance(() -> HandCrankInstance::new)
|
||||
.instance(() -> HandCrankVisual::new)
|
||||
.validBlocks(AllBlocks.HAND_CRANK)
|
||||
.renderer(() -> HandCrankRenderer::new)
|
||||
.register();
|
||||
|
||||
public static final BlockEntityEntry<ValveHandleBlockEntity> VALVE_HANDLE = REGISTRATE
|
||||
.blockEntity("valve_handle", ValveHandleBlockEntity::new)
|
||||
.instance(() -> HandCrankInstance::new)
|
||||
.instance(() -> HandCrankVisual::new)
|
||||
.validBlocks(AllBlocks.COPPER_VALVE_HANDLE)
|
||||
.validBlocks(AllBlocks.DYED_VALVE_HANDLES.toArray())
|
||||
.renderer(() -> HandCrankRenderer::new)
|
||||
|
@ -333,28 +333,28 @@ public class AllBlockEntityTypes {
|
|||
|
||||
public static final BlockEntityEntry<CuckooClockBlockEntity> CUCKOO_CLOCK = REGISTRATE
|
||||
.blockEntity("cuckoo_clock", CuckooClockBlockEntity::new)
|
||||
.instance(() -> HorizontalHalfShaftInstance::new)
|
||||
.instance(() -> HorizontalHalfShaftVisual::new)
|
||||
.validBlocks(AllBlocks.CUCKOO_CLOCK, AllBlocks.MYSTERIOUS_CUCKOO_CLOCK)
|
||||
.renderer(() -> CuckooClockRenderer::new)
|
||||
.register();
|
||||
|
||||
public static final BlockEntityEntry<GantryShaftBlockEntity> GANTRY_SHAFT = REGISTRATE
|
||||
.blockEntity("gantry_shaft", GantryShaftBlockEntity::new)
|
||||
.instance(() -> SingleRotatingInstance::new, false)
|
||||
.instance(() -> SingleRotatingVisual::new, false)
|
||||
.validBlocks(AllBlocks.GANTRY_SHAFT)
|
||||
.renderer(() -> KineticBlockEntityRenderer::new)
|
||||
.register();
|
||||
|
||||
public static final BlockEntityEntry<GantryCarriageBlockEntity> GANTRY_PINION = REGISTRATE
|
||||
.blockEntity("gantry_pinion", GantryCarriageBlockEntity::new)
|
||||
.instance(() -> GantryCarriageInstance::new)
|
||||
.instance(() -> GantryCarriageVisual::new)
|
||||
.validBlocks(AllBlocks.GANTRY_CARRIAGE)
|
||||
.renderer(() -> GantryCarriageRenderer::new)
|
||||
.register();
|
||||
|
||||
public static final BlockEntityEntry<PumpBlockEntity> MECHANICAL_PUMP = REGISTRATE
|
||||
.blockEntity("mechanical_pump", PumpBlockEntity::new)
|
||||
.instance(() -> PumpCogInstance::new)
|
||||
.instance(() -> PumpCogVisual::new)
|
||||
.validBlocks(AllBlocks.MECHANICAL_PUMP)
|
||||
.renderer(() -> PumpRenderer::new)
|
||||
.register();
|
||||
|
@ -383,7 +383,7 @@ public class AllBlockEntityTypes {
|
|||
|
||||
public static final BlockEntityEntry<FluidValveBlockEntity> FLUID_VALVE = REGISTRATE
|
||||
.blockEntity("fluid_valve", FluidValveBlockEntity::new)
|
||||
.instance(() -> FluidValveInstance::new)
|
||||
.instance(() -> FluidValveVisual::new)
|
||||
.validBlocks(AllBlocks.FLUID_VALVE)
|
||||
.renderer(() -> FluidValveRenderer::new)
|
||||
.register();
|
||||
|
@ -402,7 +402,7 @@ public class AllBlockEntityTypes {
|
|||
|
||||
public static final BlockEntityEntry<HosePulleyBlockEntity> HOSE_PULLEY = REGISTRATE
|
||||
.blockEntity("hose_pulley", HosePulleyBlockEntity::new)
|
||||
.instance(() -> HosePulleyInstance::new)
|
||||
.instance(() -> HosePulleyVisual::new)
|
||||
.validBlocks(AllBlocks.HOSE_PULLEY)
|
||||
.renderer(() -> HosePulleyRenderer::new)
|
||||
.register();
|
||||
|
@ -440,21 +440,21 @@ public class AllBlockEntityTypes {
|
|||
|
||||
public static final BlockEntityEntry<BeltTunnelBlockEntity> ANDESITE_TUNNEL = REGISTRATE
|
||||
.blockEntity("andesite_tunnel", BeltTunnelBlockEntity::new)
|
||||
.instance(() -> BeltTunnelInstance::new)
|
||||
.instance(() -> BeltTunnelVisual::new)
|
||||
.validBlocks(AllBlocks.ANDESITE_TUNNEL)
|
||||
.renderer(() -> BeltTunnelRenderer::new)
|
||||
.register();
|
||||
|
||||
public static final BlockEntityEntry<BrassTunnelBlockEntity> BRASS_TUNNEL = REGISTRATE
|
||||
.blockEntity("brass_tunnel", BrassTunnelBlockEntity::new)
|
||||
.instance(() -> BeltTunnelInstance::new)
|
||||
.instance(() -> BeltTunnelVisual::new)
|
||||
.validBlocks(AllBlocks.BRASS_TUNNEL)
|
||||
.renderer(() -> BeltTunnelRenderer::new)
|
||||
.register();
|
||||
|
||||
public static final BlockEntityEntry<ArmBlockEntity> MECHANICAL_ARM = REGISTRATE
|
||||
.blockEntity("mechanical_arm", ArmBlockEntity::new)
|
||||
.instance(() -> ArmInstance::new)
|
||||
.instance(() -> ArmVisual::new)
|
||||
.validBlocks(AllBlocks.MECHANICAL_ARM)
|
||||
.renderer(() -> ArmRenderer::new)
|
||||
.register();
|
||||
|
@ -466,35 +466,35 @@ public class AllBlockEntityTypes {
|
|||
|
||||
public static final BlockEntityEntry<MechanicalPistonBlockEntity> MECHANICAL_PISTON = REGISTRATE
|
||||
.blockEntity("mechanical_piston", MechanicalPistonBlockEntity::new)
|
||||
.instance(() -> ShaftInstance::new, false)
|
||||
.instance(() -> ShaftVisual::new, false)
|
||||
.validBlocks(AllBlocks.MECHANICAL_PISTON, AllBlocks.STICKY_MECHANICAL_PISTON)
|
||||
.renderer(() -> MechanicalPistonRenderer::new)
|
||||
.register();
|
||||
|
||||
public static final BlockEntityEntry<WindmillBearingBlockEntity> WINDMILL_BEARING = REGISTRATE
|
||||
.blockEntity("windmill_bearing", WindmillBearingBlockEntity::new)
|
||||
.instance(() -> BearingInstance::new)
|
||||
.instance(() -> BearingVisual::new)
|
||||
.validBlocks(AllBlocks.WINDMILL_BEARING)
|
||||
.renderer(() -> BearingRenderer::new)
|
||||
.register();
|
||||
|
||||
public static final BlockEntityEntry<MechanicalBearingBlockEntity> MECHANICAL_BEARING = REGISTRATE
|
||||
.blockEntity("mechanical_bearing", MechanicalBearingBlockEntity::new)
|
||||
.instance(() -> BearingInstance::new)
|
||||
.instance(() -> BearingVisual::new)
|
||||
.validBlocks(AllBlocks.MECHANICAL_BEARING)
|
||||
.renderer(() -> BearingRenderer::new)
|
||||
.register();
|
||||
|
||||
public static final BlockEntityEntry<ClockworkBearingBlockEntity> CLOCKWORK_BEARING = REGISTRATE
|
||||
.blockEntity("clockwork_bearing", ClockworkBearingBlockEntity::new)
|
||||
.instance(() -> BearingInstance::new)
|
||||
.instance(() -> BearingVisual::new)
|
||||
.validBlocks(AllBlocks.CLOCKWORK_BEARING)
|
||||
.renderer(() -> BearingRenderer::new)
|
||||
.register();
|
||||
|
||||
public static final BlockEntityEntry<PulleyBlockEntity> ROPE_PULLEY = REGISTRATE
|
||||
.blockEntity("rope_pulley", PulleyBlockEntity::new)
|
||||
.instance(() -> RopePulleyInstance::new, false)
|
||||
.instance(() -> RopePulleyVisual::new, false)
|
||||
.validBlocks(AllBlocks.ROPE_PULLEY)
|
||||
.renderer(() -> PulleyRenderer::new)
|
||||
.register();
|
||||
|
@ -519,7 +519,7 @@ public class AllBlockEntityTypes {
|
|||
|
||||
public static final BlockEntityEntry<StickerBlockEntity> STICKER = REGISTRATE
|
||||
.blockEntity("sticker", StickerBlockEntity::new)
|
||||
.instance(() -> StickerInstance::new, false)
|
||||
.instance(() -> StickerVisual::new, false)
|
||||
.validBlocks(AllBlocks.STICKER)
|
||||
.renderer(() -> StickerRenderer::new)
|
||||
.register();
|
||||
|
@ -532,14 +532,14 @@ public class AllBlockEntityTypes {
|
|||
|
||||
public static final BlockEntityEntry<DrillBlockEntity> DRILL = REGISTRATE
|
||||
.blockEntity("drill", DrillBlockEntity::new)
|
||||
.instance(() -> DrillInstance::new, false)
|
||||
.instance(() -> DrillVisual::new, false)
|
||||
.validBlocks(AllBlocks.MECHANICAL_DRILL)
|
||||
.renderer(() -> DrillRenderer::new)
|
||||
.register();
|
||||
|
||||
public static final BlockEntityEntry<SawBlockEntity> SAW = REGISTRATE
|
||||
.blockEntity("saw", SawBlockEntity::new)
|
||||
.instance(() -> SawInstance::new)
|
||||
.instance(() -> SawVisual::new)
|
||||
.validBlocks(AllBlocks.MECHANICAL_SAW)
|
||||
.renderer(() -> SawRenderer::new)
|
||||
.register();
|
||||
|
@ -559,7 +559,7 @@ public class AllBlockEntityTypes {
|
|||
public static final BlockEntityEntry<PortableItemInterfaceBlockEntity> PORTABLE_STORAGE_INTERFACE =
|
||||
REGISTRATE
|
||||
.blockEntity("portable_storage_interface", PortableItemInterfaceBlockEntity::new)
|
||||
.instance(() -> PSIInstance::new)
|
||||
.instance(() -> PSIVisual::new)
|
||||
.validBlocks(AllBlocks.PORTABLE_STORAGE_INTERFACE)
|
||||
.renderer(() -> PortableStorageInterfaceRenderer::new)
|
||||
.register();
|
||||
|
@ -567,14 +567,14 @@ public class AllBlockEntityTypes {
|
|||
public static final BlockEntityEntry<PortableFluidInterfaceBlockEntity> PORTABLE_FLUID_INTERFACE =
|
||||
REGISTRATE
|
||||
.blockEntity("portable_fluid_interface", PortableFluidInterfaceBlockEntity::new)
|
||||
.instance(() -> PSIInstance::new)
|
||||
.instance(() -> PSIVisual::new)
|
||||
.validBlocks(AllBlocks.PORTABLE_FLUID_INTERFACE)
|
||||
.renderer(() -> PortableStorageInterfaceRenderer::new)
|
||||
.register();
|
||||
|
||||
public static final BlockEntityEntry<SteamEngineBlockEntity> STEAM_ENGINE = REGISTRATE
|
||||
.blockEntity("steam_engine", SteamEngineBlockEntity::new)
|
||||
.instance(() -> SteamEngineInstance::new, false)
|
||||
.instance(() -> SteamEngineVisual::new, false)
|
||||
.validBlocks(AllBlocks.STEAM_ENGINE)
|
||||
.renderer(() -> SteamEngineRenderer::new)
|
||||
.register();
|
||||
|
@ -587,28 +587,28 @@ public class AllBlockEntityTypes {
|
|||
|
||||
public static final BlockEntityEntry<PoweredShaftBlockEntity> POWERED_SHAFT = REGISTRATE
|
||||
.blockEntity("powered_shaft", PoweredShaftBlockEntity::new)
|
||||
.instance(() -> SingleRotatingInstance::new, false)
|
||||
.instance(() -> SingleRotatingVisual::new, false)
|
||||
.validBlocks(AllBlocks.POWERED_SHAFT)
|
||||
.renderer(() -> KineticBlockEntityRenderer::new)
|
||||
.register();
|
||||
|
||||
public static final BlockEntityEntry<FlywheelBlockEntity> FLYWHEEL = REGISTRATE
|
||||
.blockEntity("flywheel", FlywheelBlockEntity::new)
|
||||
.instance(() -> FlywheelInstance::new, false)
|
||||
.instance(() -> FlywheelVisual::new, false)
|
||||
.validBlocks(AllBlocks.FLYWHEEL)
|
||||
.renderer(() -> FlywheelRenderer::new)
|
||||
.register();
|
||||
|
||||
public static final BlockEntityEntry<MillstoneBlockEntity> MILLSTONE = REGISTRATE
|
||||
.blockEntity("millstone", MillstoneBlockEntity::new)
|
||||
.instance(() -> MillstoneCogInstance::new, false)
|
||||
.instance(() -> MillstoneCogVisual::new, false)
|
||||
.validBlocks(AllBlocks.MILLSTONE)
|
||||
.renderer(() -> MillstoneRenderer::new)
|
||||
.register();
|
||||
|
||||
public static final BlockEntityEntry<CrushingWheelBlockEntity> CRUSHING_WHEEL = REGISTRATE
|
||||
.blockEntity("crushing_wheel", CrushingWheelBlockEntity::new)
|
||||
.instance(() -> CutoutRotatingInstance::new, false)
|
||||
.instance(() -> CutoutRotatingVisual::new, false)
|
||||
.validBlocks(AllBlocks.CRUSHING_WHEEL)
|
||||
.renderer(() -> KineticBlockEntityRenderer::new)
|
||||
.register();
|
||||
|
@ -622,35 +622,35 @@ public class AllBlockEntityTypes {
|
|||
|
||||
public static final BlockEntityEntry<WaterWheelBlockEntity> WATER_WHEEL = REGISTRATE
|
||||
.blockEntity("water_wheel", WaterWheelBlockEntity::new)
|
||||
.instance(() -> WaterWheelInstance::standard, false)
|
||||
.instance(() -> WaterWheelVisual::standard, false)
|
||||
.validBlocks(AllBlocks.WATER_WHEEL)
|
||||
.renderer(() -> WaterWheelRenderer::standard)
|
||||
.register();
|
||||
|
||||
public static final BlockEntityEntry<LargeWaterWheelBlockEntity> LARGE_WATER_WHEEL = REGISTRATE
|
||||
.blockEntity("large_water_wheel", LargeWaterWheelBlockEntity::new)
|
||||
.instance(() -> WaterWheelInstance::large, false)
|
||||
.instance(() -> WaterWheelVisual::large, false)
|
||||
.validBlocks(AllBlocks.LARGE_WATER_WHEEL)
|
||||
.renderer(() -> WaterWheelRenderer::large)
|
||||
.register();
|
||||
|
||||
public static final BlockEntityEntry<MechanicalPressBlockEntity> MECHANICAL_PRESS = REGISTRATE
|
||||
.blockEntity("mechanical_press", MechanicalPressBlockEntity::new)
|
||||
.instance(() -> PressInstance::new)
|
||||
.instance(() -> PressVisual::new)
|
||||
.validBlocks(AllBlocks.MECHANICAL_PRESS)
|
||||
.renderer(() -> MechanicalPressRenderer::new)
|
||||
.register();
|
||||
|
||||
public static final BlockEntityEntry<MechanicalMixerBlockEntity> MECHANICAL_MIXER = REGISTRATE
|
||||
.blockEntity("mechanical_mixer", MechanicalMixerBlockEntity::new)
|
||||
.instance(() -> MixerInstance::new)
|
||||
.instance(() -> MixerVisual::new)
|
||||
.validBlocks(AllBlocks.MECHANICAL_MIXER)
|
||||
.renderer(() -> MechanicalMixerRenderer::new)
|
||||
.register();
|
||||
|
||||
public static final BlockEntityEntry<DeployerBlockEntity> DEPLOYER = REGISTRATE
|
||||
.blockEntity("deployer", DeployerBlockEntity::new)
|
||||
.instance(() -> DeployerInstance::new)
|
||||
.instance(() -> DeployerVisual::new)
|
||||
.validBlocks(AllBlocks.DEPLOYER)
|
||||
.renderer(() -> DeployerRenderer::new)
|
||||
.register();
|
||||
|
@ -669,42 +669,42 @@ public class AllBlockEntityTypes {
|
|||
|
||||
public static final BlockEntityEntry<MechanicalCrafterBlockEntity> MECHANICAL_CRAFTER = REGISTRATE
|
||||
.blockEntity("mechanical_crafter", MechanicalCrafterBlockEntity::new)
|
||||
.instance(() -> ShaftlessCogwheelInstance::new)
|
||||
.instance(() -> ShaftlessCogwheelVisual::new)
|
||||
.validBlocks(AllBlocks.MECHANICAL_CRAFTER)
|
||||
.renderer(() -> MechanicalCrafterRenderer::new)
|
||||
.register();
|
||||
|
||||
public static final BlockEntityEntry<SequencedGearshiftBlockEntity> SEQUENCED_GEARSHIFT = REGISTRATE
|
||||
.blockEntity("sequenced_gearshift", SequencedGearshiftBlockEntity::new)
|
||||
.instance(() -> SplitShaftInstance::new, false)
|
||||
.instance(() -> SplitShaftVisual::new, false)
|
||||
.validBlocks(AllBlocks.SEQUENCED_GEARSHIFT)
|
||||
.renderer(() -> SplitShaftRenderer::new)
|
||||
.register();
|
||||
|
||||
public static final BlockEntityEntry<SpeedControllerBlockEntity> ROTATION_SPEED_CONTROLLER = REGISTRATE
|
||||
.blockEntity("rotation_speed_controller", SpeedControllerBlockEntity::new)
|
||||
.instance(() -> ShaftInstance::new)
|
||||
.instance(() -> ShaftVisual::new)
|
||||
.validBlocks(AllBlocks.ROTATION_SPEED_CONTROLLER)
|
||||
.renderer(() -> SpeedControllerRenderer::new)
|
||||
.register();
|
||||
|
||||
public static final BlockEntityEntry<SpeedGaugeBlockEntity> SPEEDOMETER = REGISTRATE
|
||||
.blockEntity("speedometer", SpeedGaugeBlockEntity::new)
|
||||
.instance(() -> GaugeInstance.Speed::new)
|
||||
.instance(() -> GaugeVisual.Speed::new)
|
||||
.validBlocks(AllBlocks.SPEEDOMETER)
|
||||
.renderer(() -> GaugeRenderer::speed)
|
||||
.register();
|
||||
|
||||
public static final BlockEntityEntry<StressGaugeBlockEntity> STRESSOMETER = REGISTRATE
|
||||
.blockEntity("stressometer", StressGaugeBlockEntity::new)
|
||||
.instance(() -> GaugeInstance.Stress::new)
|
||||
.instance(() -> GaugeVisual.Stress::new)
|
||||
.validBlocks(AllBlocks.STRESSOMETER)
|
||||
.renderer(() -> GaugeRenderer::stress)
|
||||
.register();
|
||||
|
||||
public static final BlockEntityEntry<AnalogLeverBlockEntity> ANALOG_LEVER = REGISTRATE
|
||||
.blockEntity("analog_lever", AnalogLeverBlockEntity::new)
|
||||
.instance(() -> AnalogLeverInstance::new, false)
|
||||
.instance(() -> AnalogLeverVisual::new, false)
|
||||
.validBlocks(AllBlocks.ANALOG_LEVER)
|
||||
.renderer(() -> AnalogLeverRenderer::new)
|
||||
.register();
|
||||
|
@ -763,14 +763,14 @@ public class AllBlockEntityTypes {
|
|||
|
||||
public static final BlockEntityEntry<EjectorBlockEntity> WEIGHTED_EJECTOR = REGISTRATE
|
||||
.blockEntity("weighted_ejector", EjectorBlockEntity::new)
|
||||
.instance(() -> EjectorInstance::new)
|
||||
.instance(() -> EjectorVisual::new)
|
||||
.validBlocks(AllBlocks.WEIGHTED_EJECTOR)
|
||||
.renderer(() -> EjectorRenderer::new)
|
||||
.register();
|
||||
|
||||
public static final BlockEntityEntry<FunnelBlockEntity> FUNNEL = REGISTRATE
|
||||
.blockEntity("funnel", FunnelBlockEntity::new)
|
||||
.instance(() -> FunnelInstance::new)
|
||||
.instance(() -> FunnelVisual::new)
|
||||
.validBlocks(AllBlocks.BRASS_FUNNEL, AllBlocks.BRASS_BELT_FUNNEL, AllBlocks.ANDESITE_FUNNEL,
|
||||
AllBlocks.ANDESITE_BELT_FUNNEL)
|
||||
.renderer(() -> FunnelRenderer::new)
|
||||
|
@ -784,14 +784,14 @@ public class AllBlockEntityTypes {
|
|||
|
||||
public static final BlockEntityEntry<PulseExtenderBlockEntity> PULSE_EXTENDER = REGISTRATE
|
||||
.blockEntity("pulse_extender", PulseExtenderBlockEntity::new)
|
||||
.instance(() -> BrassDiodeInstance::new, false)
|
||||
.instance(() -> BrassDiodeVisual::new, false)
|
||||
.validBlocks(AllBlocks.PULSE_EXTENDER)
|
||||
.renderer(() -> BrassDiodeRenderer::new)
|
||||
.register();
|
||||
|
||||
public static final BlockEntityEntry<PulseRepeaterBlockEntity> PULSE_REPEATER = REGISTRATE
|
||||
.blockEntity("pulse_repeater", PulseRepeaterBlockEntity::new)
|
||||
.instance(() -> BrassDiodeInstance::new, false)
|
||||
.instance(() -> BrassDiodeVisual::new, false)
|
||||
.validBlocks(AllBlocks.PULSE_REPEATER)
|
||||
.renderer(() -> BrassDiodeRenderer::new)
|
||||
.register();
|
||||
|
@ -805,7 +805,7 @@ public class AllBlockEntityTypes {
|
|||
// Curiosities
|
||||
public static final BlockEntityEntry<BacktankBlockEntity> BACKTANK = REGISTRATE
|
||||
.blockEntity("backtank", BacktankBlockEntity::new)
|
||||
.instance(() -> BacktankInstance::new)
|
||||
.instance(() -> BacktankVisual::new)
|
||||
.validBlocks(AllBlocks.COPPER_BACKTANK, AllBlocks.NETHERITE_BACKTANK)
|
||||
.renderer(() -> BacktankRenderer::new)
|
||||
.register();
|
||||
|
@ -824,14 +824,14 @@ public class AllBlockEntityTypes {
|
|||
|
||||
public static final BlockEntityEntry<ToolboxBlockEntity> TOOLBOX = REGISTRATE
|
||||
.blockEntity("toolbox", ToolboxBlockEntity::new)
|
||||
.instance(() -> ToolBoxInstance::new, false)
|
||||
.instance(() -> ToolBoxVisual::new, false)
|
||||
.validBlocks(AllBlocks.TOOLBOXES.toArray())
|
||||
.renderer(() -> ToolboxRenderer::new)
|
||||
.register();
|
||||
|
||||
public static final BlockEntityEntry<TrackBlockEntity> TRACK = REGISTRATE
|
||||
.blockEntity("track", TrackBlockEntity::new)
|
||||
.instance(() -> TrackInstance::new)
|
||||
.instance(() -> TrackVisual::new)
|
||||
.validBlocksDeferred(TrackMaterial::allBlocks)
|
||||
.renderer(() -> TrackRenderer::new)
|
||||
.register();
|
||||
|
@ -867,7 +867,7 @@ public class AllBlockEntityTypes {
|
|||
|
||||
public static final BlockEntityEntry<FlapDisplayBlockEntity> FLAP_DISPLAY = REGISTRATE
|
||||
.blockEntity("flap_display", FlapDisplayBlockEntity::new)
|
||||
.instance(() -> ShaftlessCogwheelInstance::new)
|
||||
.instance(() -> ShaftlessCogwheelVisual::new)
|
||||
.renderer(() -> FlapDisplayRenderer::new)
|
||||
.validBlocks(AllBlocks.DISPLAY_BOARD)
|
||||
.register();
|
||||
|
|
|
@ -15,7 +15,7 @@ import com.simibubi.create.content.equipment.potatoCannon.PotatoProjectileEntity
|
|||
import com.simibubi.create.content.equipment.potatoCannon.PotatoProjectileRenderer;
|
||||
import com.simibubi.create.content.trains.entity.CarriageContraptionEntity;
|
||||
import com.simibubi.create.content.trains.entity.CarriageContraptionEntityRenderer;
|
||||
import com.simibubi.create.content.trains.entity.CarriageContraptionInstance;
|
||||
import com.simibubi.create.content.trains.entity.CarriageContraptionVisual;
|
||||
import com.simibubi.create.foundation.data.CreateEntityBuilder;
|
||||
import com.simibubi.create.foundation.utility.Lang;
|
||||
import com.tterrag.registrate.util.entry.EntityEntry;
|
||||
|
@ -41,7 +41,7 @@ public class AllEntityTypes {
|
|||
GantryContraptionEntity::new, () -> ContraptionEntityRenderer::new, 10, 40, false).register();
|
||||
public static final EntityEntry<CarriageContraptionEntity> CARRIAGE_CONTRAPTION =
|
||||
contraption("carriage_contraption", CarriageContraptionEntity::new,
|
||||
() -> CarriageContraptionEntityRenderer::new, 15, 3, true).instance(() -> CarriageContraptionInstance::new)
|
||||
() -> CarriageContraptionEntityRenderer::new, 15, 3, true).instance(() -> CarriageContraptionVisual::new)
|
||||
.register();
|
||||
|
||||
public static final EntityEntry<SuperGlueEntity> SUPER_GLUE =
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package com.simibubi.create.content.contraptions.actors.flwdata;
|
||||
package com.simibubi.create.content.contraptions.actors;
|
||||
|
||||
import org.joml.Quaternionf;
|
||||
import org.joml.Vector3f;
|
|
@ -1,6 +0,0 @@
|
|||
@ParametersAreNonnullByDefault @MethodsReturnNonnullByDefault
|
||||
package com.simibubi.create.content.contraptions.actors.flwdata;
|
||||
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
|
@ -8,7 +8,7 @@ import com.jozufozu.flywheel.lib.model.Models;
|
|||
import com.jozufozu.flywheel.lib.model.baked.PartialModel;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.contraptions.behaviour.MovementContext;
|
||||
import com.simibubi.create.content.contraptions.render.ActorInstance;
|
||||
import com.simibubi.create.content.contraptions.render.ActorVisual;
|
||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||
import com.simibubi.create.foundation.utility.VecHelper;
|
||||
|
@ -18,9 +18,8 @@ import net.minecraft.core.Direction;
|
|||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
|
||||
import net.minecraft.world.phys.Vec3;
|
||||
import net.minecraftforge.client.model.data.ModelData;
|
||||
|
||||
public class HarvesterActorInstance extends ActorInstance {
|
||||
public class HarvesterActorVisual extends ActorVisual {
|
||||
static float originOffset = 1 / 16f;
|
||||
static Vec3 rotOffset = new Vec3(0.5f, -2 * originOffset + 0.5f, originOffset + 0.5f);
|
||||
|
||||
|
@ -32,10 +31,10 @@ public class HarvesterActorInstance extends ActorInstance {
|
|||
private double rotation;
|
||||
private double previousRotation;
|
||||
|
||||
public HarvesterActorInstance(VisualizationContext materialManager, VirtualRenderWorld simulationWorld, MovementContext context) {
|
||||
super(materialManager, simulationWorld, context);
|
||||
public HarvesterActorVisual(VisualizationContext visualizationContext, VirtualRenderWorld simulationWorld, MovementContext movementContext) {
|
||||
super(visualizationContext, simulationWorld, movementContext);
|
||||
|
||||
BlockState state = context.state;
|
||||
BlockState state = movementContext.state;
|
||||
|
||||
facing = state.getValue(BlockStateProperties.HORIZONTAL_FACING);
|
||||
|
|
@ -7,7 +7,7 @@ import org.apache.commons.lang3.mutable.MutableBoolean;
|
|||
import com.jozufozu.flywheel.api.visualization.VisualizationContext;
|
||||
import com.simibubi.create.content.contraptions.behaviour.MovementBehaviour;
|
||||
import com.simibubi.create.content.contraptions.behaviour.MovementContext;
|
||||
import com.simibubi.create.content.contraptions.render.ActorInstance;
|
||||
import com.simibubi.create.content.contraptions.render.ActorVisual;
|
||||
import com.simibubi.create.content.contraptions.render.ContraptionMatrices;
|
||||
import com.simibubi.create.content.contraptions.render.ContraptionRenderDispatcher;
|
||||
import com.simibubi.create.foundation.item.ItemHelper;
|
||||
|
@ -52,9 +52,9 @@ public class HarvesterMovementBehaviour implements MovementBehaviour {
|
|||
|
||||
@Nullable
|
||||
@Override
|
||||
public ActorInstance createInstance(VisualizationContext materialManager, VirtualRenderWorld simulationWorld,
|
||||
MovementContext context) {
|
||||
return new HarvesterActorInstance(materialManager, simulationWorld, context);
|
||||
public ActorVisual createInstance(VisualizationContext visualizationContext, VirtualRenderWorld simulationWorld,
|
||||
MovementContext movementContext) {
|
||||
return new HarvesterActorVisual(visualizationContext, simulationWorld, movementContext);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -2,19 +2,19 @@ package com.simibubi.create.content.contraptions.actors.psi;
|
|||
|
||||
import com.jozufozu.flywheel.api.visualization.VisualizationContext;
|
||||
import com.simibubi.create.content.contraptions.behaviour.MovementContext;
|
||||
import com.simibubi.create.content.contraptions.render.ActorInstance;
|
||||
import com.simibubi.create.content.contraptions.render.ActorVisual;
|
||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||
import com.simibubi.create.foundation.utility.animation.LerpedFloat;
|
||||
import com.simibubi.create.foundation.virtualWorld.VirtualRenderWorld;
|
||||
|
||||
public class PSIActorInstance extends ActorInstance {
|
||||
public class PSIActorVisual extends ActorVisual {
|
||||
|
||||
private final PIInstance instance;
|
||||
|
||||
public PSIActorInstance(VisualizationContext materialManager, VirtualRenderWorld world, MovementContext context) {
|
||||
super(materialManager, world, context);
|
||||
public PSIActorVisual(VisualizationContext context, VirtualRenderWorld world, MovementContext movementContext) {
|
||||
super(context, world, movementContext);
|
||||
|
||||
instance = new PIInstance(materialManager.instancerProvider(), context.state, context.localPos);
|
||||
instance = new PIInstance(context.instancerProvider(), movementContext.state, movementContext.localPos);
|
||||
|
||||
instance.init(false);
|
||||
instance.middle.setBlockLight(localBlockLight());
|
|
@ -11,11 +11,11 @@ import com.jozufozu.flywheel.api.visualization.VisualizationContext;
|
|||
import com.jozufozu.flywheel.lib.visual.AbstractBlockEntityVisual;
|
||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||
|
||||
public class PSIInstance extends AbstractBlockEntityVisual<PortableStorageInterfaceBlockEntity> implements DynamicVisual, TickableVisual {
|
||||
public class PSIVisual extends AbstractBlockEntityVisual<PortableStorageInterfaceBlockEntity> implements DynamicVisual, TickableVisual {
|
||||
|
||||
private final PIInstance instance;
|
||||
|
||||
public PSIInstance(VisualizationContext visualizationContext, PortableStorageInterfaceBlockEntity blockEntity) {
|
||||
public PSIVisual(VisualizationContext visualizationContext, PortableStorageInterfaceBlockEntity blockEntity) {
|
||||
super(visualizationContext, blockEntity);
|
||||
|
||||
instance = new PIInstance(visualizationContext.instancerProvider(), blockState, getVisualPosition());
|
|
@ -7,7 +7,7 @@ import org.jetbrains.annotations.Nullable;
|
|||
import com.jozufozu.flywheel.api.visualization.VisualizationContext;
|
||||
import com.simibubi.create.content.contraptions.behaviour.MovementBehaviour;
|
||||
import com.simibubi.create.content.contraptions.behaviour.MovementContext;
|
||||
import com.simibubi.create.content.contraptions.render.ActorInstance;
|
||||
import com.simibubi.create.content.contraptions.render.ActorVisual;
|
||||
import com.simibubi.create.content.contraptions.render.ContraptionMatrices;
|
||||
import com.simibubi.create.content.contraptions.render.ContraptionRenderDispatcher;
|
||||
import com.simibubi.create.content.trains.entity.CarriageContraption;
|
||||
|
@ -46,9 +46,9 @@ public class PortableStorageInterfaceMovement implements MovementBehaviour {
|
|||
|
||||
@Nullable
|
||||
@Override
|
||||
public ActorInstance createInstance(VisualizationContext materialManager, VirtualRenderWorld simulationWorld,
|
||||
MovementContext context) {
|
||||
return new PSIActorInstance(materialManager, simulationWorld, context);
|
||||
public ActorVisual createInstance(VisualizationContext visualizationContext, VirtualRenderWorld simulationWorld,
|
||||
MovementContext movementContext) {
|
||||
return new PSIActorVisual(visualizationContext, simulationWorld, movementContext);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -7,20 +7,19 @@ import com.jozufozu.flywheel.lib.instance.TransformedInstance;
|
|||
import com.jozufozu.flywheel.lib.model.Models;
|
||||
import com.jozufozu.flywheel.lib.model.baked.PartialModel;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.contraptions.actors.harvester.HarvesterActorInstance;
|
||||
import com.simibubi.create.content.contraptions.actors.harvester.HarvesterActorVisual;
|
||||
import com.simibubi.create.content.contraptions.behaviour.MovementContext;
|
||||
import com.simibubi.create.foundation.virtualWorld.VirtualRenderWorld;
|
||||
|
||||
import net.minecraft.world.phys.Vec3;
|
||||
import net.minecraftforge.client.model.data.ModelData;
|
||||
|
||||
public class RollerActorInstance extends HarvesterActorInstance {
|
||||
public class RollerActorVisual extends HarvesterActorVisual {
|
||||
|
||||
TransformedInstance frame;
|
||||
|
||||
public RollerActorInstance(VisualizationContext materialManager, VirtualRenderWorld simulationWorld,
|
||||
MovementContext context) {
|
||||
super(materialManager, simulationWorld, context);
|
||||
public RollerActorVisual(VisualizationContext visualizationContext, VirtualRenderWorld simulationWorld,
|
||||
MovementContext movementContext) {
|
||||
super(visualizationContext, simulationWorld, movementContext);
|
||||
|
||||
frame = instancerProvider.instancer(InstanceTypes.TRANSFORMED, Models.partial(AllPartialModels.ROLLER_FRAME), RenderStage.AFTER_BLOCK_ENTITIES)
|
||||
.createInstance();
|
|
@ -14,7 +14,7 @@ import com.simibubi.create.AllBlocks;
|
|||
import com.simibubi.create.content.contraptions.actors.roller.RollerBlockEntity.RollingMode;
|
||||
import com.simibubi.create.content.contraptions.behaviour.MovementContext;
|
||||
import com.simibubi.create.content.contraptions.pulley.PulleyContraption;
|
||||
import com.simibubi.create.content.contraptions.render.ActorInstance;
|
||||
import com.simibubi.create.content.contraptions.render.ActorVisual;
|
||||
import com.simibubi.create.content.contraptions.render.ContraptionMatrices;
|
||||
import com.simibubi.create.content.contraptions.render.ContraptionRenderDispatcher;
|
||||
import com.simibubi.create.content.kinetics.base.BlockBreakingMovementBehaviour;
|
||||
|
@ -76,9 +76,9 @@ public class RollerMovementBehaviour extends BlockBreakingMovementBehaviour {
|
|||
|
||||
@Nullable
|
||||
@Override
|
||||
public ActorInstance createInstance(VisualizationContext materialManager, VirtualRenderWorld simulationWorld,
|
||||
MovementContext context) {
|
||||
return new RollerActorInstance(materialManager, simulationWorld, context);
|
||||
public ActorVisual createInstance(VisualizationContext visualizationContext, VirtualRenderWorld simulationWorld,
|
||||
MovementContext movementContext) {
|
||||
return new RollerActorVisual(visualizationContext, simulationWorld, movementContext);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -15,7 +15,7 @@ import com.jozufozu.flywheel.lib.model.Models;
|
|||
import com.jozufozu.flywheel.lib.model.baked.PartialModel;
|
||||
import com.mojang.math.Axis;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.kinetics.base.BackHalfShaftInstance;
|
||||
import com.simibubi.create.content.kinetics.base.BackHalfShaftVisual;
|
||||
import com.simibubi.create.content.kinetics.base.KineticBlockEntity;
|
||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||
|
@ -23,14 +23,14 @@ import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
|||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
|
||||
|
||||
public class BearingInstance<B extends KineticBlockEntity & IBearingBlockEntity> extends BackHalfShaftInstance<B> implements DynamicVisual {
|
||||
public class BearingVisual<B extends KineticBlockEntity & IBearingBlockEntity> extends BackHalfShaftVisual<B> implements DynamicVisual {
|
||||
final OrientedInstance topInstance;
|
||||
|
||||
final Axis rotationAxis;
|
||||
final Quaternionf blockOrientation;
|
||||
|
||||
public BearingInstance(VisualizationContext materialManager, B blockEntity) {
|
||||
super(materialManager, blockEntity);
|
||||
public BearingVisual(VisualizationContext context, B blockEntity) {
|
||||
super(context, blockEntity);
|
||||
|
||||
Direction facing = blockState.getValue(BlockStateProperties.FACING);
|
||||
rotationAxis = Axis.of(Direction.get(Direction.AxisDirection.POSITIVE, axis).step());
|
|
@ -13,7 +13,7 @@ import com.simibubi.create.content.contraptions.ControlledContraptionEntity;
|
|||
import com.simibubi.create.content.contraptions.OrientedContraptionEntity;
|
||||
import com.simibubi.create.content.contraptions.behaviour.MovementBehaviour;
|
||||
import com.simibubi.create.content.contraptions.behaviour.MovementContext;
|
||||
import com.simibubi.create.content.contraptions.render.ActorInstance;
|
||||
import com.simibubi.create.content.contraptions.render.ActorVisual;
|
||||
import com.simibubi.create.content.contraptions.render.ContraptionMatrices;
|
||||
import com.simibubi.create.content.contraptions.render.ContraptionRenderDispatcher;
|
||||
import com.simibubi.create.foundation.render.CachedBufferer;
|
||||
|
@ -49,7 +49,7 @@ public class StabilizedBearingMovementBehaviour implements MovementBehaviour {
|
|||
float renderPartialTicks = AnimationTickHolder.getPartialTicks();
|
||||
|
||||
// rotate to match blockstate
|
||||
Quaternionf orientation = BearingInstance.getBlockStateOrientation(facing);
|
||||
Quaternionf orientation = BearingVisual.getBlockStateOrientation(facing);
|
||||
|
||||
// rotate against parent
|
||||
float angle = getCounterRotationAngle(context, facing, renderPartialTicks) * facing.getAxisDirection()
|
||||
|
@ -78,9 +78,9 @@ public class StabilizedBearingMovementBehaviour implements MovementBehaviour {
|
|||
|
||||
@Nullable
|
||||
@Override
|
||||
public ActorInstance createInstance(VisualizationContext materialManager, VirtualRenderWorld simulationWorld,
|
||||
MovementContext context) {
|
||||
return new StabilizedBearingInstance(materialManager, simulationWorld, context);
|
||||
public ActorVisual createInstance(VisualizationContext visualizationContext, VirtualRenderWorld simulationWorld,
|
||||
MovementContext movementContext) {
|
||||
return new StabilizedBearingVisual(visualizationContext, simulationWorld, movementContext);
|
||||
}
|
||||
|
||||
static float getCounterRotationAngle(MovementContext context, Direction facing, float renderPartialTicks) {
|
||||
|
|
|
@ -10,7 +10,7 @@ import com.jozufozu.flywheel.lib.model.Models;
|
|||
import com.mojang.math.Axis;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.contraptions.behaviour.MovementContext;
|
||||
import com.simibubi.create.content.contraptions.render.ActorInstance;
|
||||
import com.simibubi.create.content.contraptions.render.ActorVisual;
|
||||
import com.simibubi.create.content.kinetics.base.RotatingInstance;
|
||||
import com.simibubi.create.foundation.render.AllInstanceTypes;
|
||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||
|
@ -20,7 +20,7 @@ import net.minecraft.core.Direction;
|
|||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
|
||||
|
||||
public class StabilizedBearingInstance extends ActorInstance {
|
||||
public class StabilizedBearingVisual extends ActorVisual {
|
||||
|
||||
final OrientedInstance topInstance;
|
||||
final RotatingInstance shaft;
|
||||
|
@ -29,21 +29,21 @@ public class StabilizedBearingInstance extends ActorInstance {
|
|||
final Axis rotationAxis;
|
||||
final Quaternionf blockOrientation;
|
||||
|
||||
public StabilizedBearingInstance(VisualizationContext materialManager, VirtualRenderWorld simulationWorld, MovementContext context) {
|
||||
super(materialManager, simulationWorld, context);
|
||||
public StabilizedBearingVisual(VisualizationContext visualizationContext, VirtualRenderWorld simulationWorld, MovementContext movementContext) {
|
||||
super(visualizationContext, simulationWorld, movementContext);
|
||||
|
||||
BlockState blockState = context.state;
|
||||
BlockState blockState = movementContext.state;
|
||||
|
||||
facing = blockState.getValue(BlockStateProperties.FACING);
|
||||
rotationAxis = Axis.of(Direction.get(Direction.AxisDirection.POSITIVE, facing.getAxis()).step());
|
||||
|
||||
blockOrientation = BearingInstance.getBlockStateOrientation(facing);
|
||||
blockOrientation = BearingVisual.getBlockStateOrientation(facing);
|
||||
|
||||
topInstance = instancerProvider.instancer(InstanceTypes.ORIENTED, Models.partial(AllPartialModels.BEARING_TOP), RenderStage.AFTER_BLOCK_ENTITIES)
|
||||
.createInstance();
|
||||
|
||||
int blockLight = localBlockLight();
|
||||
topInstance.setPosition(context.localPos)
|
||||
topInstance.setPosition(movementContext.localPos)
|
||||
.setRotation(blockOrientation)
|
||||
.setBlockLight(blockLight);
|
||||
|
||||
|
@ -51,7 +51,7 @@ public class StabilizedBearingInstance extends ActorInstance {
|
|||
.createInstance();
|
||||
|
||||
// not rotating so no need to set speed, axis, etc.
|
||||
shaft.setPosition(context.localPos)
|
||||
shaft.setPosition(movementContext.localPos)
|
||||
.setBlockLight(blockLight);
|
||||
}
|
||||
|
|
@ -3,7 +3,7 @@ package com.simibubi.create.content.contraptions.behaviour;
|
|||
import javax.annotation.Nullable;
|
||||
|
||||
import com.jozufozu.flywheel.api.visualization.VisualizationContext;
|
||||
import com.simibubi.create.content.contraptions.render.ActorInstance;
|
||||
import com.simibubi.create.content.contraptions.render.ActorVisual;
|
||||
import com.simibubi.create.content.contraptions.render.ContraptionMatrices;
|
||||
import com.simibubi.create.foundation.virtualWorld.VirtualRenderWorld;
|
||||
import com.simibubi.create.infrastructure.config.AllConfigs;
|
||||
|
@ -94,8 +94,8 @@ public interface MovementBehaviour {
|
|||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Nullable
|
||||
default ActorInstance createInstance(VisualizationContext materialManager, VirtualRenderWorld simulationWorld,
|
||||
MovementContext context) {
|
||||
default ActorVisual createInstance(VisualizationContext visualizationContext, VirtualRenderWorld simulationWorld,
|
||||
MovementContext movementContext) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,13 +13,12 @@ import com.jozufozu.flywheel.lib.model.Models;
|
|||
import com.jozufozu.flywheel.lib.visual.AbstractBlockEntityVisual;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.util.Mth;
|
||||
|
||||
public class StickerInstance extends AbstractBlockEntityVisual<StickerBlockEntity> implements DynamicVisual {
|
||||
public class StickerVisual extends AbstractBlockEntityVisual<StickerBlockEntity> implements DynamicVisual {
|
||||
|
||||
float lastOffset = Float.NaN;
|
||||
final Direction facing;
|
||||
|
@ -28,8 +27,8 @@ public class StickerInstance extends AbstractBlockEntityVisual<StickerBlockEntit
|
|||
|
||||
private final TransformedInstance head;
|
||||
|
||||
public StickerInstance(VisualizationContext materialManager, StickerBlockEntity blockEntity) {
|
||||
super(materialManager, blockEntity);
|
||||
public StickerVisual(VisualizationContext context, StickerBlockEntity blockEntity) {
|
||||
super(context, blockEntity);
|
||||
|
||||
head = instancerProvider.instancer(InstanceTypes.TRANSFORMED, Models.partial(AllPartialModels.STICKER_HEAD), RenderStage.AFTER_BLOCK_ENTITIES).createInstance();
|
||||
|
|
@ -4,13 +4,13 @@ import com.jozufozu.flywheel.api.visual.DynamicVisual;
|
|||
import com.jozufozu.flywheel.api.visual.VisualFrameContext;
|
||||
import com.jozufozu.flywheel.api.visualization.VisualizationContext;
|
||||
import com.jozufozu.flywheel.lib.light.TickingLightListener;
|
||||
import com.simibubi.create.content.kinetics.base.ShaftInstance;
|
||||
import com.simibubi.create.content.kinetics.base.ShaftVisual;
|
||||
|
||||
// TODO
|
||||
public class ElevatorPulleyInstance extends ShaftInstance<ElevatorPulleyBlockEntity> implements DynamicVisual, TickingLightListener {
|
||||
public class ElevatorPulleyVisual extends ShaftVisual<ElevatorPulleyBlockEntity> implements DynamicVisual, TickingLightListener {
|
||||
|
||||
public ElevatorPulleyInstance(VisualizationContext materialManager, ElevatorPulleyBlockEntity blockEntity) {
|
||||
super(materialManager, blockEntity);
|
||||
public ElevatorPulleyVisual(VisualizationContext context, ElevatorPulleyBlockEntity blockEntity) {
|
||||
super(context, blockEntity);
|
||||
}
|
||||
|
||||
@Override
|
|
@ -12,16 +12,15 @@ import com.jozufozu.flywheel.lib.instance.TransformedInstance;
|
|||
import com.jozufozu.flywheel.lib.model.Models;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.kinetics.base.KineticBlockEntityRenderer;
|
||||
import com.simibubi.create.content.kinetics.base.ShaftInstance;
|
||||
import com.simibubi.create.content.kinetics.base.ShaftVisual;
|
||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||
import com.simibubi.create.foundation.utility.Iterate;
|
||||
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.util.Mth;
|
||||
import net.minecraftforge.client.model.data.ModelData;
|
||||
|
||||
public class GantryCarriageInstance extends ShaftInstance<GantryCarriageBlockEntity> implements DynamicVisual {
|
||||
public class GantryCarriageVisual extends ShaftVisual<GantryCarriageBlockEntity> implements DynamicVisual {
|
||||
|
||||
private final TransformedInstance gantryCogs;
|
||||
|
||||
|
@ -33,8 +32,8 @@ public class GantryCarriageInstance extends ShaftInstance<GantryCarriageBlockEnt
|
|||
|
||||
private float lastAngle = Float.NaN;
|
||||
|
||||
public GantryCarriageInstance(VisualizationContext materialManager, GantryCarriageBlockEntity blockEntity) {
|
||||
super(materialManager, blockEntity);
|
||||
public GantryCarriageVisual(VisualizationContext context, GantryCarriageBlockEntity blockEntity) {
|
||||
super(context, blockEntity);
|
||||
|
||||
gantryCogs = instancerProvider.instancer(InstanceTypes.TRANSFORMED, Models.partial(AllPartialModels.GANTRY_COGS), RenderStage.AFTER_BLOCK_ENTITIES)
|
||||
.createInstance();
|
|
@ -15,7 +15,7 @@ import com.jozufozu.flywheel.lib.light.LightVolume;
|
|||
import com.jozufozu.flywheel.lib.light.TickingLightListener;
|
||||
import com.mojang.math.Axis;
|
||||
import com.simibubi.create.content.kinetics.base.KineticBlockEntity;
|
||||
import com.simibubi.create.content.kinetics.base.ShaftInstance;
|
||||
import com.simibubi.create.content.kinetics.base.ShaftVisual;
|
||||
import com.simibubi.create.foundation.render.ConditionalInstance;
|
||||
import com.simibubi.create.foundation.render.GroupInstance;
|
||||
import com.simibubi.create.foundation.render.SelectInstance;
|
||||
|
@ -25,7 +25,7 @@ import net.minecraft.core.SectionPos;
|
|||
import net.minecraft.util.Mth;
|
||||
import net.minecraft.world.level.LightLayer;
|
||||
|
||||
public abstract class AbstractPulleyInstance<T extends KineticBlockEntity> extends ShaftInstance<T> implements DynamicVisual, TickingLightListener {
|
||||
public abstract class AbstractPulleyVisual<T extends KineticBlockEntity> extends ShaftVisual<T> implements DynamicVisual, TickingLightListener {
|
||||
|
||||
final OrientedInstance coil;
|
||||
final SelectInstance<OrientedInstance> magnet;
|
||||
|
@ -39,7 +39,7 @@ public abstract class AbstractPulleyInstance<T extends KineticBlockEntity> exten
|
|||
private final MutableBox volume = new MutableBox();
|
||||
private final LightVolume light;
|
||||
|
||||
public AbstractPulleyInstance(VisualizationContext dispatcher, T blockEntity) {
|
||||
public AbstractPulleyVisual(VisualizationContext dispatcher, T blockEntity) {
|
||||
super(dispatcher, blockEntity);
|
||||
|
||||
rotatingAbout = Direction.get(Direction.AxisDirection.POSITIVE, axis);
|
|
@ -10,9 +10,9 @@ import com.simibubi.create.AllPartialModels;
|
|||
import com.simibubi.create.content.fluids.hosePulley.HosePulleyBlockEntity;
|
||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||
|
||||
public class HosePulleyInstance extends AbstractPulleyInstance<HosePulleyBlockEntity> {
|
||||
public class HosePulleyVisual extends AbstractPulleyVisual<HosePulleyBlockEntity> {
|
||||
|
||||
public HosePulleyInstance(VisualizationContext dispatcher, HosePulleyBlockEntity blockEntity) {
|
||||
public HosePulleyVisual(VisualizationContext dispatcher, HosePulleyBlockEntity blockEntity) {
|
||||
super(dispatcher, blockEntity);
|
||||
}
|
||||
|
|
@ -12,9 +12,9 @@ import com.simibubi.create.AllPartialModels;
|
|||
import com.simibubi.create.foundation.render.VirtualRenderHelper;
|
||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||
|
||||
public class RopePulleyInstance extends AbstractPulleyInstance<PulleyBlockEntity> {
|
||||
public RopePulleyInstance(VisualizationContext materialManager, PulleyBlockEntity blockEntity) {
|
||||
super(materialManager, blockEntity);
|
||||
public class RopePulleyVisual extends AbstractPulleyVisual<PulleyBlockEntity> {
|
||||
public RopePulleyVisual(VisualizationContext context, PulleyBlockEntity blockEntity) {
|
||||
super(context, blockEntity);
|
||||
}
|
||||
|
||||
protected Instancer<OrientedInstance> getRopeModel() {
|
|
@ -7,13 +7,13 @@ import com.simibubi.create.content.contraptions.behaviour.MovementContext;
|
|||
import net.minecraft.world.level.BlockAndTintGetter;
|
||||
import net.minecraft.world.level.LightLayer;
|
||||
|
||||
public abstract class ActorInstance {
|
||||
public abstract class ActorVisual {
|
||||
protected final VisualizationContext visualizationContext;
|
||||
protected final InstancerProvider instancerProvider;
|
||||
protected final BlockAndTintGetter simulationWorld;
|
||||
protected final MovementContext context;
|
||||
|
||||
public ActorInstance(VisualizationContext visualizationContext, BlockAndTintGetter world, MovementContext context) {
|
||||
public ActorVisual(VisualizationContext visualizationContext, BlockAndTintGetter world, MovementContext context) {
|
||||
this.visualizationContext = visualizationContext;
|
||||
this.instancerProvider = visualizationContext.instancerProvider();
|
||||
this.simulationWorld = world;
|
|
@ -3,12 +3,12 @@ package com.simibubi.create.content.equipment.armor;
|
|||
import com.jozufozu.flywheel.api.model.Model;
|
||||
import com.jozufozu.flywheel.api.visualization.VisualizationContext;
|
||||
import com.jozufozu.flywheel.lib.model.Models;
|
||||
import com.simibubi.create.content.kinetics.base.SingleRotatingInstance;
|
||||
import com.simibubi.create.content.kinetics.base.SingleRotatingVisual;
|
||||
|
||||
public class BacktankInstance extends SingleRotatingInstance<BacktankBlockEntity> {
|
||||
public class BacktankVisual extends SingleRotatingVisual<BacktankBlockEntity> {
|
||||
|
||||
public BacktankInstance(VisualizationContext materialManager, BacktankBlockEntity blockEntity) {
|
||||
super(materialManager, blockEntity);
|
||||
public BacktankVisual(VisualizationContext context, BacktankBlockEntity blockEntity) {
|
||||
super(context, blockEntity);
|
||||
}
|
||||
|
||||
@Override
|
|
@ -13,21 +13,18 @@ import com.jozufozu.flywheel.lib.instance.TransformedInstance;
|
|||
import com.jozufozu.flywheel.lib.model.Models;
|
||||
import com.jozufozu.flywheel.lib.visual.AbstractBlockEntityVisual;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||
import com.simibubi.create.foundation.utility.Iterate;
|
||||
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraftforge.client.model.data.ModelData;
|
||||
|
||||
public class ToolBoxInstance extends AbstractBlockEntityVisual<ToolboxBlockEntity> implements DynamicVisual {
|
||||
public class ToolBoxVisual extends AbstractBlockEntityVisual<ToolboxBlockEntity> implements DynamicVisual {
|
||||
|
||||
private final Direction facing;
|
||||
private TransformedInstance lid;
|
||||
private TransformedInstance[] drawers;
|
||||
|
||||
public ToolBoxInstance(VisualizationContext materialManager, ToolboxBlockEntity blockEntity) {
|
||||
super(materialManager, blockEntity);
|
||||
public ToolBoxVisual(VisualizationContext context, ToolboxBlockEntity blockEntity) {
|
||||
super(context, blockEntity);
|
||||
|
||||
facing = blockState.getValue(ToolboxBlock.FACING)
|
||||
.getOpposite();
|
|
@ -12,14 +12,14 @@ import com.jozufozu.flywheel.lib.instance.TransformedInstance;
|
|||
import com.jozufozu.flywheel.lib.model.Models;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.kinetics.base.KineticBlockEntityRenderer;
|
||||
import com.simibubi.create.content.kinetics.base.ShaftInstance;
|
||||
import com.simibubi.create.content.kinetics.base.ShaftVisual;
|
||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.util.Mth;
|
||||
|
||||
public class FluidValveInstance extends ShaftInstance<FluidValveBlockEntity> implements DynamicVisual {
|
||||
public class FluidValveVisual extends ShaftVisual<FluidValveBlockEntity> implements DynamicVisual {
|
||||
|
||||
protected TransformedInstance pointer;
|
||||
protected boolean settled;
|
||||
|
@ -28,7 +28,7 @@ public class FluidValveInstance extends ShaftInstance<FluidValveBlockEntity> imp
|
|||
protected final double yRot;
|
||||
protected final int pointerRotationOffset;
|
||||
|
||||
public FluidValveInstance(VisualizationContext dispatcher, FluidValveBlockEntity blockEntity) {
|
||||
public FluidValveVisual(VisualizationContext dispatcher, FluidValveBlockEntity blockEntity) {
|
||||
super(dispatcher, blockEntity);
|
||||
|
||||
Direction facing = blockState.getValue(FluidValveBlock.FACING);
|
|
@ -6,16 +6,16 @@ import com.jozufozu.flywheel.api.visual.VisualFrameContext;
|
|||
import com.jozufozu.flywheel.api.visualization.VisualizationContext;
|
||||
import com.jozufozu.flywheel.lib.model.Models;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.kinetics.base.SingleRotatingInstance;
|
||||
import com.simibubi.create.content.kinetics.base.SingleRotatingVisual;
|
||||
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
|
||||
|
||||
public class PumpCogInstance extends SingleRotatingInstance<PumpBlockEntity> implements DynamicVisual {
|
||||
public class PumpCogVisual extends SingleRotatingVisual<PumpBlockEntity> implements DynamicVisual {
|
||||
|
||||
public PumpCogInstance(VisualizationContext materialManager, PumpBlockEntity blockEntity) {
|
||||
super(materialManager, blockEntity);
|
||||
public PumpCogVisual(VisualizationContext context, PumpBlockEntity blockEntity) {
|
||||
super(context, blockEntity);
|
||||
}
|
||||
|
||||
@Override
|
|
@ -5,9 +5,9 @@ import com.jozufozu.flywheel.api.visualization.VisualizationContext;
|
|||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
|
||||
|
||||
public class BackHalfShaftInstance<T extends KineticBlockEntity> extends HalfShaftInstance<T> {
|
||||
public BackHalfShaftInstance(VisualizationContext materialManager, T blockEntity) {
|
||||
super(materialManager, blockEntity);
|
||||
public class BackHalfShaftVisual<T extends KineticBlockEntity> extends HalfShaftVisual<T> {
|
||||
public BackHalfShaftVisual(VisualizationContext context, T blockEntity) {
|
||||
super(context, blockEntity);
|
||||
}
|
||||
|
||||
@Override
|
|
@ -1,9 +0,0 @@
|
|||
package com.simibubi.create.content.kinetics.base;
|
||||
|
||||
import com.jozufozu.flywheel.api.visualization.VisualizationContext;
|
||||
|
||||
public class CutoutRotatingInstance<T extends KineticBlockEntity> extends SingleRotatingInstance<T> {
|
||||
public CutoutRotatingInstance(VisualizationContext materialManager, T blockEntity) {
|
||||
super(materialManager, blockEntity);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
package com.simibubi.create.content.kinetics.base;
|
||||
|
||||
import com.jozufozu.flywheel.api.visualization.VisualizationContext;
|
||||
|
||||
public class CutoutRotatingVisual<T extends KineticBlockEntity> extends SingleRotatingVisual<T> {
|
||||
public CutoutRotatingVisual(VisualizationContext context, T blockEntity) {
|
||||
super(context, blockEntity);
|
||||
}
|
||||
}
|
|
@ -8,9 +8,9 @@ import com.simibubi.create.AllPartialModels;
|
|||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
|
||||
|
||||
public class HalfShaftInstance<T extends KineticBlockEntity> extends SingleRotatingInstance<T> {
|
||||
public HalfShaftInstance(VisualizationContext materialManager, T blockEntity) {
|
||||
super(materialManager, blockEntity);
|
||||
public class HalfShaftVisual<T extends KineticBlockEntity> extends SingleRotatingVisual<T> {
|
||||
public HalfShaftVisual(VisualizationContext context, T blockEntity) {
|
||||
super(context, blockEntity);
|
||||
}
|
||||
|
||||
@Override
|
|
@ -5,10 +5,10 @@ import com.jozufozu.flywheel.api.visualization.VisualizationContext;
|
|||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
|
||||
|
||||
public class HorizontalHalfShaftInstance<T extends KineticBlockEntity> extends HalfShaftInstance<T> {
|
||||
public class HorizontalHalfShaftVisual<T extends KineticBlockEntity> extends HalfShaftVisual<T> {
|
||||
|
||||
public HorizontalHalfShaftInstance(VisualizationContext materialManager, T blockEntity) {
|
||||
super(materialManager, blockEntity);
|
||||
public HorizontalHalfShaftVisual(VisualizationContext context, T blockEntity) {
|
||||
super(context, blockEntity);
|
||||
}
|
||||
|
||||
@Override
|
|
@ -10,12 +10,12 @@ import net.minecraft.core.Direction;
|
|||
import net.minecraft.core.Direction.Axis;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
|
||||
public abstract class KineticBlockEntityInstance<T extends KineticBlockEntity> extends AbstractBlockEntityVisual<T> {
|
||||
public abstract class KineticBlockEntityVisual<T extends KineticBlockEntity> extends AbstractBlockEntityVisual<T> {
|
||||
|
||||
protected final Direction.Axis axis;
|
||||
|
||||
public KineticBlockEntityInstance(VisualizationContext materialManager, T blockEntity) {
|
||||
super(materialManager, blockEntity);
|
||||
public KineticBlockEntityVisual(VisualizationContext context, T blockEntity) {
|
||||
super(context, blockEntity);
|
||||
axis = (blockState.getBlock() instanceof IRotate irotate) ? irotate.getRotationAxis(blockState) : Axis.Y;
|
||||
}
|
||||
|
|
@ -4,10 +4,10 @@ import com.jozufozu.flywheel.api.model.Model;
|
|||
import com.jozufozu.flywheel.api.visualization.VisualizationContext;
|
||||
import com.simibubi.create.foundation.render.VirtualRenderHelper;
|
||||
|
||||
public class ShaftInstance<T extends KineticBlockEntity> extends SingleRotatingInstance<T> {
|
||||
public class ShaftVisual<T extends KineticBlockEntity> extends SingleRotatingVisual<T> {
|
||||
|
||||
public ShaftInstance(VisualizationContext materialManager, T blockEntity) {
|
||||
super(materialManager, blockEntity);
|
||||
public ShaftVisual(VisualizationContext context, T blockEntity) {
|
||||
super(context, blockEntity);
|
||||
}
|
||||
|
||||
@Override
|
|
@ -9,12 +9,12 @@ import com.jozufozu.flywheel.api.visualization.VisualizationContext;
|
|||
import com.simibubi.create.foundation.render.AllInstanceTypes;
|
||||
import com.simibubi.create.foundation.render.VirtualRenderHelper;
|
||||
|
||||
public class SingleRotatingInstance<T extends KineticBlockEntity> extends KineticBlockEntityInstance<T> {
|
||||
public class SingleRotatingVisual<T extends KineticBlockEntity> extends KineticBlockEntityVisual<T> {
|
||||
|
||||
protected RotatingInstance rotatingModel;
|
||||
|
||||
public SingleRotatingInstance(VisualizationContext materialManager, T blockEntity) {
|
||||
super(materialManager, blockEntity);
|
||||
public SingleRotatingVisual(VisualizationContext context, T blockEntity) {
|
||||
super(context, blockEntity);
|
||||
}
|
||||
|
||||
@Override
|
|
@ -15,7 +15,7 @@ import com.jozufozu.flywheel.lib.model.baked.PartialModel;
|
|||
import com.jozufozu.flywheel.lib.transform.TransformStack;
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.kinetics.base.KineticBlockEntityInstance;
|
||||
import com.simibubi.create.content.kinetics.base.KineticBlockEntityVisual;
|
||||
import com.simibubi.create.content.kinetics.base.RotatingInstance;
|
||||
import com.simibubi.create.foundation.block.render.SpriteShiftEntry;
|
||||
import com.simibubi.create.foundation.render.AllInstanceTypes;
|
||||
|
@ -26,7 +26,7 @@ import net.minecraft.util.Mth;
|
|||
import net.minecraft.world.item.DyeColor;
|
||||
import net.minecraft.world.level.LightLayer;
|
||||
|
||||
public class BeltVisual extends KineticBlockEntityInstance<BeltBlockEntity> {
|
||||
public class BeltVisual extends KineticBlockEntityVisual<BeltBlockEntity> {
|
||||
|
||||
boolean upward;
|
||||
boolean diagonal;
|
||||
|
@ -39,8 +39,8 @@ public class BeltVisual extends KineticBlockEntityInstance<BeltBlockEntity> {
|
|||
protected ArrayList<BeltInstance> keys;
|
||||
protected RotatingInstance pulleyKey;
|
||||
|
||||
public BeltVisual(VisualizationContext materialManager, BeltBlockEntity blockEntity) {
|
||||
super(materialManager, blockEntity);
|
||||
public BeltVisual(VisualizationContext context, BeltBlockEntity blockEntity) {
|
||||
super(context, blockEntity);
|
||||
|
||||
if (!AllBlocks.BELT.has(blockState))
|
||||
return;
|
||||
|
|
|
@ -7,21 +7,21 @@ import com.jozufozu.flywheel.lib.transform.TransformStack;
|
|||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.kinetics.base.KineticBlockEntity;
|
||||
import com.simibubi.create.content.kinetics.base.SingleRotatingInstance;
|
||||
import com.simibubi.create.content.kinetics.base.SingleRotatingVisual;
|
||||
|
||||
import net.minecraft.core.Direction;
|
||||
|
||||
public class ShaftlessCogwheelInstance extends SingleRotatingInstance<KineticBlockEntity> {
|
||||
public class ShaftlessCogwheelVisual extends SingleRotatingVisual<KineticBlockEntity> {
|
||||
|
||||
public ShaftlessCogwheelInstance(VisualizationContext materialManager, KineticBlockEntity blockEntity) {
|
||||
super(materialManager, blockEntity);
|
||||
public ShaftlessCogwheelVisual(VisualizationContext context, KineticBlockEntity blockEntity) {
|
||||
super(context, blockEntity);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Model model() {
|
||||
Direction facing = blockState.getValue(MechanicalCrafterBlock.HORIZONTAL_FACING);
|
||||
|
||||
return Models.partial(AllPartialModels.SHAFTLESS_COGWHEEL, facing, ShaftlessCogwheelInstance::rotateToFace);
|
||||
return Models.partial(AllPartialModels.SHAFTLESS_COGWHEEL, facing, ShaftlessCogwheelVisual::rotateToFace);
|
||||
}
|
||||
|
||||
private static void rotateToFace(Direction facing, PoseStack stack) {
|
|
@ -10,18 +10,18 @@ import com.jozufozu.flywheel.api.visual.VisualFrameContext;
|
|||
import com.jozufozu.flywheel.api.visualization.VisualizationContext;
|
||||
import com.jozufozu.flywheel.lib.instance.InstanceTypes;
|
||||
import com.jozufozu.flywheel.lib.instance.TransformedInstance;
|
||||
import com.simibubi.create.content.kinetics.base.SingleRotatingInstance;
|
||||
import com.simibubi.create.content.kinetics.base.SingleRotatingVisual;
|
||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
|
||||
|
||||
public class HandCrankInstance extends SingleRotatingInstance<HandCrankBlockEntity> implements DynamicVisual {
|
||||
public class HandCrankVisual extends SingleRotatingVisual<HandCrankBlockEntity> implements DynamicVisual {
|
||||
|
||||
private TransformedInstance crank;
|
||||
private Direction facing;
|
||||
|
||||
public HandCrankInstance(VisualizationContext modelManager, HandCrankBlockEntity blockEntity) {
|
||||
public HandCrankVisual(VisualizationContext modelManager, HandCrankBlockEntity blockEntity) {
|
||||
super(modelManager, blockEntity);
|
||||
facing = blockState.getValue(BlockStateProperties.FACING);
|
||||
Model model = blockEntity.getRenderedHandleInstance();
|
|
@ -13,9 +13,9 @@ import com.jozufozu.flywheel.lib.transform.TransformStack;
|
|||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.contraptions.behaviour.MovementContext;
|
||||
import com.simibubi.create.content.contraptions.render.ActorInstance;
|
||||
import com.simibubi.create.content.contraptions.render.ActorVisual;
|
||||
import com.simibubi.create.content.kinetics.base.IRotate;
|
||||
import com.simibubi.create.content.kinetics.base.KineticBlockEntityInstance;
|
||||
import com.simibubi.create.content.kinetics.base.KineticBlockEntityVisual;
|
||||
import com.simibubi.create.content.kinetics.base.RotatingInstance;
|
||||
import com.simibubi.create.foundation.render.AllInstanceTypes;
|
||||
import com.simibubi.create.foundation.render.VirtualRenderHelper;
|
||||
|
@ -31,7 +31,7 @@ import net.minecraft.util.Mth;
|
|||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.phys.Vec3;
|
||||
|
||||
public class DeployerActorInstance extends ActorInstance {
|
||||
public class DeployerActorVisual extends ActorVisual {
|
||||
|
||||
private final PoseStack stack = new PoseStack();
|
||||
Direction facing;
|
||||
|
@ -45,8 +45,8 @@ public class DeployerActorInstance extends ActorInstance {
|
|||
TransformedInstance hand;
|
||||
RotatingInstance shaft;
|
||||
|
||||
public DeployerActorInstance(VisualizationContext materialManager, VirtualRenderWorld simulationWorld, MovementContext context) {
|
||||
super(materialManager, simulationWorld, context);
|
||||
public DeployerActorVisual(VisualizationContext visualizationContext, VirtualRenderWorld simulationWorld, MovementContext context) {
|
||||
super(visualizationContext, simulationWorld, context);
|
||||
BlockState state = context.state;
|
||||
DeployerBlockEntity.Mode mode = NBTHelper.readEnum(context.blockEntityData, "Mode", DeployerBlockEntity.Mode.class);
|
||||
PartialModel handPose = DeployerRenderer.getHandPose(mode);
|
||||
|
@ -59,13 +59,11 @@ public class DeployerActorInstance extends ActorInstance {
|
|||
xRot = facing == Direction.UP ? 270 : facing == Direction.DOWN ? 90 : 0;
|
||||
zRot = rotatePole ? 90 : 0;
|
||||
|
||||
var instancerProvider = materialManager.instancerProvider();
|
||||
|
||||
pole = instancerProvider.instancer(InstanceTypes.TRANSFORMED, Models.partial(AllPartialModels.DEPLOYER_POLE), RenderStage.AFTER_BLOCK_ENTITIES).createInstance();
|
||||
hand = instancerProvider.instancer(InstanceTypes.TRANSFORMED, Models.partial(handPose), RenderStage.AFTER_BLOCK_ENTITIES).createInstance();
|
||||
|
||||
Direction.Axis axis = ((IRotate) state.getBlock()).getRotationAxis(state);
|
||||
shaft = instancerProvider.instancer(AllInstanceTypes.ROTATING, VirtualRenderHelper.blockModel(KineticBlockEntityInstance.shaft(axis)), RenderStage.AFTER_BLOCK_ENTITIES)
|
||||
shaft = instancerProvider.instancer(AllInstanceTypes.ROTATING, VirtualRenderHelper.blockModel(KineticBlockEntityVisual.shaft(axis)), RenderStage.AFTER_BLOCK_ENTITIES)
|
||||
.createInstance();
|
||||
|
||||
int blockLight = localBlockLight();
|
|
@ -16,7 +16,7 @@ import com.simibubi.create.content.contraptions.OrientedContraptionEntity;
|
|||
import com.simibubi.create.content.contraptions.behaviour.MovementBehaviour;
|
||||
import com.simibubi.create.content.contraptions.behaviour.MovementContext;
|
||||
import com.simibubi.create.content.contraptions.mounted.MountedContraption;
|
||||
import com.simibubi.create.content.contraptions.render.ActorInstance;
|
||||
import com.simibubi.create.content.contraptions.render.ActorVisual;
|
||||
import com.simibubi.create.content.contraptions.render.ContraptionMatrices;
|
||||
import com.simibubi.create.content.contraptions.render.ContraptionRenderDispatcher;
|
||||
import com.simibubi.create.content.kinetics.deployer.DeployerBlockEntity.Mode;
|
||||
|
@ -295,8 +295,8 @@ public class DeployerMovementBehaviour implements MovementBehaviour {
|
|||
|
||||
@Nullable
|
||||
@Override
|
||||
public ActorInstance createInstance(VisualizationContext materialManager, VirtualRenderWorld simulationWorld,
|
||||
MovementContext context) {
|
||||
return new DeployerActorInstance(materialManager, simulationWorld, context);
|
||||
public ActorVisual createInstance(VisualizationContext visualizationContext, VirtualRenderWorld simulationWorld,
|
||||
MovementContext movementContext) {
|
||||
return new DeployerActorVisual(visualizationContext, simulationWorld, movementContext);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,7 +20,7 @@ import com.jozufozu.flywheel.lib.model.Models;
|
|||
import com.jozufozu.flywheel.lib.model.baked.PartialModel;
|
||||
import com.mojang.math.Axis;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.kinetics.base.ShaftInstance;
|
||||
import com.simibubi.create.content.kinetics.base.ShaftVisual;
|
||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||
|
||||
|
@ -29,7 +29,7 @@ import net.minecraft.core.Direction;
|
|||
import net.minecraft.core.Vec3i;
|
||||
import net.minecraft.util.Mth;
|
||||
|
||||
public class DeployerInstance extends ShaftInstance<DeployerBlockEntity> implements DynamicVisual, TickableVisual {
|
||||
public class DeployerVisual extends ShaftVisual<DeployerBlockEntity> implements DynamicVisual, TickableVisual {
|
||||
|
||||
final Direction facing;
|
||||
final float yRot;
|
||||
|
@ -43,8 +43,8 @@ public class DeployerInstance extends ShaftInstance<DeployerBlockEntity> impleme
|
|||
PartialModel currentHand;
|
||||
float progress;
|
||||
|
||||
public DeployerInstance(VisualizationContext materialManager, DeployerBlockEntity blockEntity) {
|
||||
super(materialManager, blockEntity);
|
||||
public DeployerVisual(VisualizationContext context, DeployerBlockEntity blockEntity) {
|
||||
super(context, blockEntity);
|
||||
|
||||
facing = blockState.getValue(FACING);
|
||||
|
|
@ -6,8 +6,9 @@ import com.jozufozu.flywheel.api.event.RenderStage;
|
|||
import com.jozufozu.flywheel.api.visualization.VisualizationContext;
|
||||
import com.jozufozu.flywheel.lib.model.Models;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.contraptions.actors.flwdata.ActorInstance;
|
||||
import com.simibubi.create.content.contraptions.actors.ActorInstance;
|
||||
import com.simibubi.create.content.contraptions.behaviour.MovementContext;
|
||||
import com.simibubi.create.content.contraptions.render.ActorVisual;
|
||||
import com.simibubi.create.foundation.render.AllInstanceTypes;
|
||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||
import com.simibubi.create.foundation.utility.VecHelper;
|
||||
|
@ -17,13 +18,13 @@ import net.minecraft.core.Direction;
|
|||
import net.minecraft.util.Mth;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
|
||||
public class DrillActorInstance extends com.simibubi.create.content.contraptions.render.ActorInstance {
|
||||
public class DrillActorVisual extends ActorVisual {
|
||||
|
||||
ActorInstance drillHead;
|
||||
private final Direction facing;
|
||||
|
||||
public DrillActorInstance(VisualizationContext materialManager, VirtualRenderWorld contraption, MovementContext context) {
|
||||
super(materialManager, contraption, context);
|
||||
public DrillActorVisual(VisualizationContext visualizationContext, VirtualRenderWorld contraption, MovementContext context) {
|
||||
super(visualizationContext, contraption, context);
|
||||
|
||||
BlockState state = context.state;
|
||||
|
||||
|
@ -38,8 +39,7 @@ public class DrillActorInstance extends com.simibubi.create.content.contraptions
|
|||
else
|
||||
eulerY = facing.toYRot() + ((axis == Direction.Axis.X) ? 180 : 0);
|
||||
|
||||
drillHead = materialManager.instancerProvider()
|
||||
.instancer(AllInstanceTypes.ACTORS, Models.partial(AllPartialModels.DRILL_HEAD), RenderStage.AFTER_BLOCK_ENTITIES)
|
||||
drillHead = instancerProvider.instancer(AllInstanceTypes.ACTORS, Models.partial(AllPartialModels.DRILL_HEAD), RenderStage.AFTER_BLOCK_ENTITIES)
|
||||
.createInstance();
|
||||
|
||||
drillHead.setPosition(context.localPos)
|
|
@ -5,7 +5,7 @@ import javax.annotation.Nullable;
|
|||
import com.jozufozu.flywheel.api.visualization.VisualizationContext;
|
||||
import com.simibubi.create.AllTags;
|
||||
import com.simibubi.create.content.contraptions.behaviour.MovementContext;
|
||||
import com.simibubi.create.content.contraptions.render.ActorInstance;
|
||||
import com.simibubi.create.content.contraptions.render.ActorVisual;
|
||||
import com.simibubi.create.content.contraptions.render.ContraptionMatrices;
|
||||
import com.simibubi.create.content.contraptions.render.ContraptionRenderDispatcher;
|
||||
import com.simibubi.create.content.kinetics.base.BlockBreakingMovementBehaviour;
|
||||
|
@ -52,8 +52,8 @@ public class DrillMovementBehaviour extends BlockBreakingMovementBehaviour {
|
|||
|
||||
@Nullable
|
||||
@Override
|
||||
public ActorInstance createInstance(VisualizationContext materialManager, VirtualRenderWorld simulationWorld, MovementContext context) {
|
||||
return new DrillActorInstance(materialManager, simulationWorld, context);
|
||||
public ActorVisual createInstance(VisualizationContext visualizationContext, VirtualRenderWorld simulationWorld, MovementContext movementContext) {
|
||||
return new DrillActorVisual(visualizationContext, simulationWorld, movementContext);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -4,15 +4,15 @@ import com.jozufozu.flywheel.api.model.Model;
|
|||
import com.jozufozu.flywheel.api.visualization.VisualizationContext;
|
||||
import com.jozufozu.flywheel.lib.model.Models;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.kinetics.base.SingleRotatingInstance;
|
||||
import com.simibubi.create.content.kinetics.base.SingleRotatingVisual;
|
||||
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
|
||||
|
||||
public class DrillInstance extends SingleRotatingInstance<DrillBlockEntity> {
|
||||
public class DrillVisual extends SingleRotatingVisual<DrillBlockEntity> {
|
||||
|
||||
public DrillInstance(VisualizationContext materialManager, DrillBlockEntity blockEntity) {
|
||||
super(materialManager, blockEntity);
|
||||
public DrillVisual(VisualizationContext context, DrillBlockEntity blockEntity) {
|
||||
super(context, blockEntity);
|
||||
}
|
||||
|
||||
@Override
|
|
@ -9,7 +9,7 @@ import com.jozufozu.flywheel.api.instance.Instance;
|
|||
import com.jozufozu.flywheel.api.visualization.VisualizationContext;
|
||||
import com.jozufozu.flywheel.lib.model.Models;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.kinetics.base.KineticBlockEntityInstance;
|
||||
import com.simibubi.create.content.kinetics.base.KineticBlockEntityVisual;
|
||||
import com.simibubi.create.content.kinetics.base.RotatingInstance;
|
||||
import com.simibubi.create.foundation.render.AllInstanceTypes;
|
||||
|
||||
|
@ -17,15 +17,15 @@ import net.minecraft.core.BlockPos;
|
|||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.util.Mth;
|
||||
|
||||
public class FanInstance extends KineticBlockEntityInstance<EncasedFanBlockEntity> {
|
||||
public class FanVisual extends KineticBlockEntityVisual<EncasedFanBlockEntity> {
|
||||
|
||||
protected final RotatingInstance shaft;
|
||||
protected final RotatingInstance fan;
|
||||
final Direction direction;
|
||||
private final Direction opposite;
|
||||
|
||||
public FanInstance(VisualizationContext materialManager, EncasedFanBlockEntity blockEntity) {
|
||||
super(materialManager, blockEntity);
|
||||
public FanVisual(VisualizationContext context, EncasedFanBlockEntity blockEntity) {
|
||||
super(context, blockEntity);
|
||||
|
||||
direction = blockState.getValue(FACING);
|
||||
|
|
@ -11,7 +11,7 @@ import com.jozufozu.flywheel.lib.instance.InstanceTypes;
|
|||
import com.jozufozu.flywheel.lib.instance.TransformedInstance;
|
||||
import com.jozufozu.flywheel.lib.transform.TransformStack;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.content.kinetics.base.KineticBlockEntityInstance;
|
||||
import com.simibubi.create.content.kinetics.base.KineticBlockEntityVisual;
|
||||
import com.simibubi.create.content.kinetics.base.RotatingInstance;
|
||||
import com.simibubi.create.foundation.render.AllInstanceTypes;
|
||||
import com.simibubi.create.foundation.render.VirtualRenderHelper;
|
||||
|
@ -20,14 +20,14 @@ import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
|||
|
||||
import net.minecraft.core.Direction;
|
||||
|
||||
public class FlywheelInstance extends KineticBlockEntityInstance<FlywheelBlockEntity> implements DynamicVisual {
|
||||
public class FlywheelVisual extends KineticBlockEntityVisual<FlywheelBlockEntity> implements DynamicVisual {
|
||||
|
||||
protected final RotatingInstance shaft;
|
||||
protected final TransformedInstance wheel;
|
||||
protected float lastAngle = Float.NaN;
|
||||
|
||||
public FlywheelInstance(VisualizationContext materialManager, FlywheelBlockEntity blockEntity) {
|
||||
super(materialManager, blockEntity);
|
||||
public FlywheelVisual(VisualizationContext context, FlywheelBlockEntity blockEntity) {
|
||||
super(context, blockEntity);
|
||||
|
||||
shaft = setup(instancerProvider.instancer(AllInstanceTypes.ROTATING, VirtualRenderHelper.blockModel(shaft()), RenderStage.AFTER_BLOCK_ENTITIES)
|
||||
.createInstance());
|
|
@ -15,7 +15,7 @@ import com.jozufozu.flywheel.lib.model.Models;
|
|||
import com.jozufozu.flywheel.lib.transform.TransformStack;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.kinetics.base.ShaftInstance;
|
||||
import com.simibubi.create.content.kinetics.base.ShaftVisual;
|
||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||
import com.simibubi.create.foundation.utility.Couple;
|
||||
import com.simibubi.create.foundation.utility.Iterate;
|
||||
|
@ -23,14 +23,14 @@ import com.simibubi.create.foundation.utility.Iterate;
|
|||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.util.Mth;
|
||||
|
||||
public abstract class GaugeInstance extends ShaftInstance<GaugeBlockEntity> implements DynamicVisual {
|
||||
public abstract class GaugeVisual extends ShaftVisual<GaugeBlockEntity> implements DynamicVisual {
|
||||
|
||||
protected final ArrayList<DialFace> faces;
|
||||
|
||||
protected PoseStack ms;
|
||||
|
||||
protected GaugeInstance(VisualizationContext materialManager, GaugeBlockEntity blockEntity) {
|
||||
super(materialManager, blockEntity);
|
||||
protected GaugeVisual(VisualizationContext context, GaugeBlockEntity blockEntity) {
|
||||
super(context, blockEntity);
|
||||
|
||||
faces = new ArrayList<>(2);
|
||||
|
||||
|
@ -153,9 +153,9 @@ public abstract class GaugeInstance extends ShaftInstance<GaugeBlockEntity> impl
|
|||
}
|
||||
}
|
||||
|
||||
public static class Speed extends GaugeInstance {
|
||||
public Speed(VisualizationContext materialManager, GaugeBlockEntity blockEntity) {
|
||||
super(materialManager, blockEntity);
|
||||
public static class Speed extends GaugeVisual {
|
||||
public Speed(VisualizationContext context, GaugeBlockEntity blockEntity) {
|
||||
super(context, blockEntity);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -164,9 +164,9 @@ public abstract class GaugeInstance extends ShaftInstance<GaugeBlockEntity> impl
|
|||
}
|
||||
}
|
||||
|
||||
public static class Stress extends GaugeInstance {
|
||||
public Stress(VisualizationContext materialManager, GaugeBlockEntity blockEntity) {
|
||||
super(materialManager, blockEntity);
|
||||
public static class Stress extends GaugeVisual {
|
||||
public Stress(VisualizationContext context, GaugeBlockEntity blockEntity) {
|
||||
super(context, blockEntity);
|
||||
}
|
||||
|
||||
@Override
|
|
@ -10,7 +10,7 @@ import com.jozufozu.flywheel.api.visualization.VisualizationContext;
|
|||
import com.jozufozu.flywheel.lib.instance.AbstractInstance;
|
||||
import com.jozufozu.flywheel.lib.model.Models;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.kinetics.base.KineticBlockEntityInstance;
|
||||
import com.simibubi.create.content.kinetics.base.KineticBlockEntityVisual;
|
||||
import com.simibubi.create.content.kinetics.base.RotatingInstance;
|
||||
import com.simibubi.create.foundation.render.AllInstanceTypes;
|
||||
import com.simibubi.create.foundation.utility.Iterate;
|
||||
|
@ -20,13 +20,13 @@ import net.minecraft.core.Direction;
|
|||
import net.minecraft.world.level.LightLayer;
|
||||
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
|
||||
|
||||
public class GearboxInstance extends KineticBlockEntityInstance<GearboxBlockEntity> {
|
||||
public class GearboxVisual extends KineticBlockEntityVisual<GearboxBlockEntity> {
|
||||
|
||||
protected final EnumMap<Direction, RotatingInstance> keys;
|
||||
protected Direction sourceFacing;
|
||||
|
||||
public GearboxInstance(VisualizationContext materialManager, GearboxBlockEntity blockEntity) {
|
||||
super(materialManager, blockEntity);
|
||||
public GearboxVisual(VisualizationContext context, GearboxBlockEntity blockEntity) {
|
||||
super(context, blockEntity);
|
||||
|
||||
keys = new EnumMap<>(Direction.class);
|
||||
|
|
@ -17,7 +17,7 @@ import com.jozufozu.flywheel.lib.model.Models;
|
|||
import com.jozufozu.flywheel.lib.transform.TransformStack;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.kinetics.base.SingleRotatingInstance;
|
||||
import com.simibubi.create.content.kinetics.base.SingleRotatingVisual;
|
||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||
import com.simibubi.create.foundation.utility.Color;
|
||||
import com.simibubi.create.foundation.utility.Iterate;
|
||||
|
@ -28,7 +28,7 @@ import net.minecraft.util.Mth;
|
|||
import net.minecraft.world.item.BlockItem;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
|
||||
public class ArmInstance extends SingleRotatingInstance<ArmBlockEntity> implements DynamicVisual {
|
||||
public class ArmVisual extends SingleRotatingVisual<ArmBlockEntity> implements DynamicVisual {
|
||||
|
||||
final TransformedInstance base;
|
||||
final TransformedInstance lowerBody;
|
||||
|
@ -46,8 +46,8 @@ public class ArmInstance extends SingleRotatingInstance<ArmBlockEntity> implemen
|
|||
private float upperArmAngle = Float.NaN;
|
||||
private float headAngle = Float.NaN;
|
||||
|
||||
public ArmInstance(VisualizationContext materialManager, ArmBlockEntity blockEntity) {
|
||||
super(materialManager, blockEntity);
|
||||
public ArmVisual(VisualizationContext context, ArmBlockEntity blockEntity) {
|
||||
super(context, blockEntity);
|
||||
|
||||
base = instancerProvider.instancer(InstanceTypes.TRANSFORMED, Models.partial(AllPartialModels.ARM_BASE), RenderStage.AFTER_BLOCK_ENTITIES)
|
||||
.createInstance();
|
|
@ -4,12 +4,12 @@ import com.jozufozu.flywheel.api.model.Model;
|
|||
import com.jozufozu.flywheel.api.visualization.VisualizationContext;
|
||||
import com.jozufozu.flywheel.lib.model.Models;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.kinetics.base.SingleRotatingInstance;
|
||||
import com.simibubi.create.content.kinetics.base.SingleRotatingVisual;
|
||||
|
||||
public class MillstoneCogInstance extends SingleRotatingInstance<MillstoneBlockEntity> {
|
||||
public class MillstoneCogVisual extends SingleRotatingVisual<MillstoneBlockEntity> {
|
||||
|
||||
public MillstoneCogInstance(VisualizationContext materialManager, MillstoneBlockEntity blockEntity) {
|
||||
super(materialManager, blockEntity);
|
||||
public MillstoneCogVisual(VisualizationContext context, MillstoneBlockEntity blockEntity) {
|
||||
super(context, blockEntity);
|
||||
}
|
||||
|
||||
@Override
|
|
@ -13,20 +13,20 @@ import com.jozufozu.flywheel.lib.instance.OrientedInstance;
|
|||
import com.jozufozu.flywheel.lib.model.Models;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.kinetics.base.RotatingInstance;
|
||||
import com.simibubi.create.content.kinetics.simpleRelays.encased.EncasedCogInstance;
|
||||
import com.simibubi.create.content.kinetics.simpleRelays.encased.EncasedCogVisual;
|
||||
import com.simibubi.create.foundation.render.AllInstanceTypes;
|
||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||
|
||||
import net.minecraft.core.Direction;
|
||||
|
||||
public class MixerInstance extends EncasedCogInstance implements DynamicVisual {
|
||||
public class MixerVisual extends EncasedCogVisual implements DynamicVisual {
|
||||
|
||||
private final RotatingInstance mixerHead;
|
||||
private final OrientedInstance mixerPole;
|
||||
private final MechanicalMixerBlockEntity mixer;
|
||||
|
||||
public MixerInstance(VisualizationContext materialManager, MechanicalMixerBlockEntity blockEntity) {
|
||||
super(materialManager, blockEntity, false);
|
||||
public MixerVisual(VisualizationContext context, MechanicalMixerBlockEntity blockEntity) {
|
||||
super(context, blockEntity, false);
|
||||
this.mixer = blockEntity;
|
||||
|
||||
mixerHead = instancerProvider.instancer(AllInstanceTypes.ROTATING, Models.partial(AllPartialModels.MECHANICAL_MIXER_HEAD), RenderStage.AFTER_BLOCK_ENTITIES)
|
|
@ -14,16 +14,16 @@ import com.jozufozu.flywheel.lib.instance.OrientedInstance;
|
|||
import com.jozufozu.flywheel.lib.model.Models;
|
||||
import com.mojang.math.Axis;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.kinetics.base.ShaftInstance;
|
||||
import com.simibubi.create.content.kinetics.base.ShaftVisual;
|
||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||
|
||||
public class PressInstance extends ShaftInstance<MechanicalPressBlockEntity> implements DynamicVisual {
|
||||
public class PressVisual extends ShaftVisual<MechanicalPressBlockEntity> implements DynamicVisual {
|
||||
|
||||
private final OrientedInstance pressHead;
|
||||
|
||||
public PressInstance(VisualizationContext materialManager, MechanicalPressBlockEntity blockEntity) {
|
||||
super(materialManager, blockEntity);
|
||||
public PressVisual(VisualizationContext context, MechanicalPressBlockEntity blockEntity) {
|
||||
super(context, blockEntity);
|
||||
|
||||
pressHead = instancerProvider.instancer(InstanceTypes.ORIENTED, Models.partial(AllPartialModels.MECHANICAL_PRESS_HEAD), RenderStage.AFTER_BLOCK_ENTITIES)
|
||||
.createInstance();
|
|
@ -4,7 +4,7 @@ import com.jozufozu.flywheel.api.model.Model;
|
|||
import com.jozufozu.flywheel.api.visualization.VisualizationContext;
|
||||
import com.jozufozu.flywheel.lib.model.Models;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.kinetics.base.SingleRotatingInstance;
|
||||
import com.simibubi.create.content.kinetics.base.SingleRotatingVisual;
|
||||
import com.simibubi.create.foundation.render.VirtualRenderHelper;
|
||||
|
||||
import net.minecraft.core.Direction;
|
||||
|
@ -12,10 +12,10 @@ import net.minecraft.world.level.block.Rotation;
|
|||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
|
||||
|
||||
public class SawInstance extends SingleRotatingInstance<SawBlockEntity> {
|
||||
public class SawVisual extends SingleRotatingVisual<SawBlockEntity> {
|
||||
|
||||
public SawInstance(VisualizationContext materialManager, SawBlockEntity blockEntity) {
|
||||
super(materialManager, blockEntity);
|
||||
public SawVisual(VisualizationContext context, SawBlockEntity blockEntity) {
|
||||
super(context, blockEntity);
|
||||
}
|
||||
|
||||
@Override
|
|
@ -13,20 +13,20 @@ import com.mojang.blaze3d.vertex.PoseStack;
|
|||
import com.mojang.math.Axis;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.kinetics.base.KineticBlockEntityRenderer;
|
||||
import com.simibubi.create.content.kinetics.base.SingleRotatingInstance;
|
||||
import com.simibubi.create.content.kinetics.base.RotatingInstance;
|
||||
import com.simibubi.create.content.kinetics.base.SingleRotatingVisual;
|
||||
import com.simibubi.create.foundation.render.AllInstanceTypes;
|
||||
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.core.Direction.AxisDirection;
|
||||
|
||||
public class BracketedKineticBlockEntityInstance extends SingleRotatingInstance<BracketedKineticBlockEntity> {
|
||||
public class BracketedKineticBlockEntityVisual extends SingleRotatingVisual<BracketedKineticBlockEntity> {
|
||||
|
||||
protected RotatingInstance additionalShaft;
|
||||
|
||||
public BracketedKineticBlockEntityInstance(VisualizationContext materialManager, BracketedKineticBlockEntity blockEntity) {
|
||||
super(materialManager, blockEntity);
|
||||
public BracketedKineticBlockEntityVisual(VisualizationContext context, BracketedKineticBlockEntity blockEntity) {
|
||||
super(context, blockEntity);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -42,7 +42,7 @@ public class BracketedKineticBlockEntityInstance extends SingleRotatingInstance<
|
|||
Direction.Axis axis = KineticBlockEntityRenderer.getRotationAxisOf(blockEntity);
|
||||
BlockPos pos = blockEntity.getBlockPos();
|
||||
float offset = BracketedKineticBlockEntityRenderer.getShaftAngleOffset(axis, pos);
|
||||
var model = Models.partial(AllPartialModels.COGWHEEL_SHAFT, axis, BracketedKineticBlockEntityInstance::rotateToAxis);
|
||||
var model = Models.partial(AllPartialModels.COGWHEEL_SHAFT, axis, BracketedKineticBlockEntityVisual::rotateToAxis);
|
||||
Instancer<RotatingInstance> half = instancerProvider.instancer(AllInstanceTypes.ROTATING, model, RenderStage.AFTER_BLOCK_ENTITIES);
|
||||
|
||||
additionalShaft = setup(half.createInstance(), speed);
|
||||
|
@ -55,7 +55,7 @@ public class BracketedKineticBlockEntityInstance extends SingleRotatingInstance<
|
|||
return super.model();
|
||||
|
||||
Direction.Axis axis = KineticBlockEntityRenderer.getRotationAxisOf(blockEntity);
|
||||
return Models.partial(AllPartialModels.SHAFTLESS_LARGE_COGWHEEL, axis, BracketedKineticBlockEntityInstance::rotateToAxis);
|
||||
return Models.partial(AllPartialModels.SHAFTLESS_LARGE_COGWHEEL, axis, BracketedKineticBlockEntityVisual::rotateToAxis);
|
||||
}
|
||||
|
||||
private static void rotateToAxis(Direction.Axis axis, PoseStack ms) {
|
|
@ -16,7 +16,7 @@ import com.mojang.math.Axis;
|
|||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.kinetics.base.IRotate;
|
||||
import com.simibubi.create.content.kinetics.base.KineticBlockEntity;
|
||||
import com.simibubi.create.content.kinetics.base.KineticBlockEntityInstance;
|
||||
import com.simibubi.create.content.kinetics.base.KineticBlockEntityVisual;
|
||||
import com.simibubi.create.content.kinetics.base.RotatingInstance;
|
||||
import com.simibubi.create.content.kinetics.simpleRelays.BracketedKineticBlockEntityRenderer;
|
||||
import com.simibubi.create.foundation.render.AllInstanceTypes;
|
||||
|
@ -28,7 +28,7 @@ import net.minecraft.world.level.block.Block;
|
|||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
|
||||
|
||||
public class EncasedCogInstance extends KineticBlockEntityInstance<KineticBlockEntity> {
|
||||
public class EncasedCogVisual extends KineticBlockEntityVisual<KineticBlockEntity> {
|
||||
|
||||
private boolean large;
|
||||
|
||||
|
@ -36,15 +36,15 @@ public class EncasedCogInstance extends KineticBlockEntityInstance<KineticBlockE
|
|||
protected Optional<RotatingInstance> rotatingTopShaft;
|
||||
protected Optional<RotatingInstance> rotatingBottomShaft;
|
||||
|
||||
public static EncasedCogInstance small(VisualizationContext modelManager, KineticBlockEntity blockEntity) {
|
||||
return new EncasedCogInstance(modelManager, blockEntity, false);
|
||||
public static EncasedCogVisual small(VisualizationContext modelManager, KineticBlockEntity blockEntity) {
|
||||
return new EncasedCogVisual(modelManager, blockEntity, false);
|
||||
}
|
||||
|
||||
public static EncasedCogInstance large(VisualizationContext modelManager, KineticBlockEntity blockEntity) {
|
||||
return new EncasedCogInstance(modelManager, blockEntity, true);
|
||||
public static EncasedCogVisual large(VisualizationContext modelManager, KineticBlockEntity blockEntity) {
|
||||
return new EncasedCogVisual(modelManager, blockEntity, true);
|
||||
}
|
||||
|
||||
public EncasedCogInstance(VisualizationContext modelManager, KineticBlockEntity blockEntity, boolean large) {
|
||||
public EncasedCogVisual(VisualizationContext modelManager, KineticBlockEntity blockEntity, boolean large) {
|
||||
super(modelManager, blockEntity);
|
||||
this.large = large;
|
||||
}
|
||||
|
@ -102,7 +102,7 @@ public class EncasedCogInstance extends KineticBlockEntityInstance<KineticBlockE
|
|||
Direction.fromAxisAndDirection(referenceState.getValue(BlockStateProperties.AXIS), AxisDirection.POSITIVE);
|
||||
PartialModel partial = large ? AllPartialModels.SHAFTLESS_LARGE_COGWHEEL : AllPartialModels.SHAFTLESS_COGWHEEL;
|
||||
|
||||
return Models.partial(partial, facing, EncasedCogInstance::transformCog);
|
||||
return Models.partial(partial, facing, EncasedCogVisual::transformCog);
|
||||
}
|
||||
|
||||
private static void transformCog(Direction dir, PoseStack stack) {
|
|
@ -18,16 +18,15 @@ import com.simibubi.create.foundation.utility.AngleHelper;
|
|||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.core.Direction.Axis;
|
||||
import net.minecraft.util.Mth;
|
||||
import net.minecraftforge.client.model.data.ModelData;
|
||||
|
||||
public class SteamEngineInstance extends AbstractBlockEntityVisual<SteamEngineBlockEntity> implements DynamicVisual {
|
||||
public class SteamEngineVisual extends AbstractBlockEntityVisual<SteamEngineBlockEntity> implements DynamicVisual {
|
||||
|
||||
protected final TransformedInstance piston;
|
||||
protected final TransformedInstance linkage;
|
||||
protected final TransformedInstance connector;
|
||||
|
||||
public SteamEngineInstance(VisualizationContext materialManager, SteamEngineBlockEntity blockEntity) {
|
||||
super(materialManager, blockEntity);
|
||||
public SteamEngineVisual(VisualizationContext context, SteamEngineBlockEntity blockEntity) {
|
||||
super(context, blockEntity);
|
||||
|
||||
piston = instancerProvider.instancer(InstanceTypes.TRANSFORMED, Models.partial(AllPartialModels.ENGINE_PISTON), RenderStage.AFTER_BLOCK_ENTITIES)
|
||||
.createInstance();
|
|
@ -10,7 +10,7 @@ import com.jozufozu.flywheel.lib.instance.AbstractInstance;
|
|||
import com.jozufozu.flywheel.lib.model.Models;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.kinetics.base.IRotate;
|
||||
import com.simibubi.create.content.kinetics.base.KineticBlockEntityInstance;
|
||||
import com.simibubi.create.content.kinetics.base.KineticBlockEntityVisual;
|
||||
import com.simibubi.create.content.kinetics.base.RotatingInstance;
|
||||
import com.simibubi.create.foundation.render.AllInstanceTypes;
|
||||
import com.simibubi.create.foundation.utility.Iterate;
|
||||
|
@ -18,11 +18,11 @@ import com.simibubi.create.foundation.utility.Iterate;
|
|||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
|
||||
public class SplitShaftInstance extends KineticBlockEntityInstance<SplitShaftBlockEntity> {
|
||||
public class SplitShaftVisual extends KineticBlockEntityVisual<SplitShaftBlockEntity> {
|
||||
|
||||
protected final ArrayList<RotatingInstance> keys;
|
||||
|
||||
public SplitShaftInstance(VisualizationContext modelManager, SplitShaftBlockEntity blockEntity) {
|
||||
public SplitShaftVisual(VisualizationContext modelManager, SplitShaftBlockEntity blockEntity) {
|
||||
super(modelManager, blockEntity);
|
||||
|
||||
keys = new ArrayList<>(2);
|
|
@ -5,7 +5,7 @@ import com.jozufozu.flywheel.api.visualization.VisualizationContext;
|
|||
import com.jozufozu.flywheel.lib.model.ModelCache;
|
||||
import com.jozufozu.flywheel.lib.model.baked.BakedModelBuilder;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.content.kinetics.base.CutoutRotatingInstance;
|
||||
import com.simibubi.create.content.kinetics.base.CutoutRotatingVisual;
|
||||
import com.simibubi.create.foundation.render.CachedBufferer;
|
||||
|
||||
import net.minecraft.client.resources.model.BakedModel;
|
||||
|
@ -13,24 +13,24 @@ import net.minecraft.core.Direction;
|
|||
import net.minecraft.core.Direction.AxisDirection;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
|
||||
public class WaterWheelInstance<T extends WaterWheelBlockEntity> extends CutoutRotatingInstance<T> {
|
||||
private static final ModelCache<WaterWheelModelKey> MODEL_CACHE = new ModelCache<>(WaterWheelInstance::createModel);
|
||||
public class WaterWheelVisual<T extends WaterWheelBlockEntity> extends CutoutRotatingVisual<T> {
|
||||
private static final ModelCache<WaterWheelModelKey> MODEL_CACHE = new ModelCache<>(WaterWheelVisual::createModel);
|
||||
|
||||
protected final boolean large;
|
||||
protected final WaterWheelModelKey key;
|
||||
|
||||
public WaterWheelInstance(VisualizationContext materialManager, T blockEntity, boolean large) {
|
||||
super(materialManager, blockEntity);
|
||||
public WaterWheelVisual(VisualizationContext context, T blockEntity, boolean large) {
|
||||
super(context, blockEntity);
|
||||
this.large = large;
|
||||
key = new WaterWheelModelKey(large, blockState, blockEntity.material);
|
||||
}
|
||||
|
||||
public static <T extends WaterWheelBlockEntity> WaterWheelInstance<T> standard(VisualizationContext materialManager, T blockEntity) {
|
||||
return new WaterWheelInstance<>(materialManager, blockEntity, false);
|
||||
public static <T extends WaterWheelBlockEntity> WaterWheelVisual<T> standard(VisualizationContext context, T blockEntity) {
|
||||
return new WaterWheelVisual<>(context, blockEntity, false);
|
||||
}
|
||||
|
||||
public static <T extends WaterWheelBlockEntity> WaterWheelInstance<T> large(VisualizationContext materialManager, T blockEntity) {
|
||||
return new WaterWheelInstance<>(materialManager, blockEntity, true);
|
||||
public static <T extends WaterWheelBlockEntity> WaterWheelVisual<T> large(VisualizationContext context, T blockEntity) {
|
||||
return new WaterWheelVisual<>(context, blockEntity, true);
|
||||
}
|
||||
|
||||
@Override
|
|
@ -11,18 +11,16 @@ import com.jozufozu.flywheel.lib.instance.InstanceTypes;
|
|||
import com.jozufozu.flywheel.lib.instance.TransformedInstance;
|
||||
import com.jozufozu.flywheel.lib.model.Models;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.kinetics.base.ShaftInstance;
|
||||
import com.simibubi.create.content.kinetics.base.ShaftVisual;
|
||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||
|
||||
import net.minecraft.util.Mth;
|
||||
|
||||
public class EjectorInstance extends ShaftInstance<EjectorBlockEntity> implements DynamicVisual {
|
||||
public class EjectorVisual extends ShaftVisual<EjectorBlockEntity> implements DynamicVisual {
|
||||
|
||||
protected final TransformedInstance plate;
|
||||
|
||||
private float lastProgress = Float.NaN;
|
||||
|
||||
public EjectorInstance(VisualizationContext dispatcher, EjectorBlockEntity blockEntity) {
|
||||
public EjectorVisual(VisualizationContext dispatcher, EjectorBlockEntity blockEntity) {
|
||||
super(dispatcher, blockEntity);
|
||||
|
||||
plate = instancerProvider.instancer(InstanceTypes.TRANSFORMED, Models.partial(AllPartialModels.EJECTOR_TOP), RenderStage.AFTER_BLOCK_ENTITIES).createInstance();
|
|
@ -10,7 +10,7 @@ import com.jozufozu.flywheel.lib.instance.FlatLit;
|
|||
import net.minecraft.client.renderer.LightTexture;
|
||||
import net.minecraft.core.BlockPos;
|
||||
|
||||
public class FlapData extends AbstractInstance implements FlatLit {
|
||||
public class FlapInstance extends AbstractInstance implements FlatLit {
|
||||
|
||||
public float x;
|
||||
public float y;
|
||||
|
@ -28,20 +28,20 @@ public class FlapData extends AbstractInstance implements FlatLit {
|
|||
public float flapScale;
|
||||
public float flapness;
|
||||
|
||||
public FlapData(InstanceType<?> type, InstanceHandle handle) {
|
||||
public FlapInstance(InstanceType<?> type, InstanceHandle handle) {
|
||||
super(type, handle);
|
||||
}
|
||||
|
||||
|
||||
public FlapData setPosition(BlockPos pos) {
|
||||
public FlapInstance setPosition(BlockPos pos) {
|
||||
return setPosition(pos.getX(), pos.getY(), pos.getZ());
|
||||
}
|
||||
|
||||
public FlapData setPosition(Vector3f pos) {
|
||||
public FlapInstance setPosition(Vector3f pos) {
|
||||
return setPosition(pos.x(), pos.y(), pos.z());
|
||||
}
|
||||
|
||||
public FlapData setPosition(float x, float y, float z) {
|
||||
public FlapInstance setPosition(float x, float y, float z) {
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
this.z = z;
|
||||
|
@ -49,13 +49,13 @@ public class FlapData extends AbstractInstance implements FlatLit {
|
|||
}
|
||||
|
||||
@Override
|
||||
public FlapData setBlockLight(int blockLight) {
|
||||
public FlapInstance setBlockLight(int blockLight) {
|
||||
this.blockLight = (byte) (blockLight & 0xF);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public FlapData setSkyLight(int skyLight) {
|
||||
public FlapInstance setSkyLight(int skyLight) {
|
||||
this.skyLight = (byte) (skyLight & 0xF);
|
||||
return this;
|
||||
}
|
||||
|
@ -65,34 +65,34 @@ public class FlapData extends AbstractInstance implements FlatLit {
|
|||
return LightTexture.pack(this.blockLight, this.skyLight);
|
||||
}
|
||||
|
||||
public FlapData setSegmentOffset(float x, float y, float z) {
|
||||
public FlapInstance setSegmentOffset(float x, float y, float z) {
|
||||
this.segmentOffsetX = x;
|
||||
this.segmentOffsetY = y;
|
||||
this.segmentOffsetZ = z;
|
||||
return this;
|
||||
}
|
||||
|
||||
public FlapData setIntensity(float intensity) {
|
||||
public FlapInstance setIntensity(float intensity) {
|
||||
this.intensity = intensity;
|
||||
return this;
|
||||
}
|
||||
|
||||
public FlapData setHorizontalAngle(float horizontalAngle) {
|
||||
public FlapInstance setHorizontalAngle(float horizontalAngle) {
|
||||
this.horizontalAngle = horizontalAngle;
|
||||
return this;
|
||||
}
|
||||
|
||||
public FlapData setFlapScale(float flapScale) {
|
||||
public FlapInstance setFlapScale(float flapScale) {
|
||||
this.flapScale = flapScale;
|
||||
return this;
|
||||
}
|
||||
|
||||
public FlapData setFlapness(float flapness) {
|
||||
public FlapInstance setFlapness(float flapness) {
|
||||
this.flapness = flapness;
|
||||
return this;
|
||||
}
|
||||
|
||||
public FlapData setPivotVoxelSpace(float x, float y, float z) {
|
||||
public FlapInstance setPivotVoxelSpace(float x, float y, float z) {
|
||||
pivotX = x / 16f;
|
||||
pivotY = y / 16f;
|
||||
pivotZ = z / 16f;
|
|
@ -14,19 +14,19 @@ import com.jozufozu.flywheel.lib.model.Models;
|
|||
import com.jozufozu.flywheel.lib.model.baked.PartialModel;
|
||||
import com.jozufozu.flywheel.lib.visual.AbstractBlockEntityVisual;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.logistics.flwdata.FlapData;
|
||||
import com.simibubi.create.content.logistics.flwdata.FlapInstance;
|
||||
import com.simibubi.create.foundation.render.AllInstanceTypes;
|
||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.world.level.LightLayer;
|
||||
|
||||
public class FunnelInstance extends AbstractBlockEntityVisual<FunnelBlockEntity> implements DynamicVisual {
|
||||
public class FunnelVisual extends AbstractBlockEntityVisual<FunnelBlockEntity> implements DynamicVisual {
|
||||
|
||||
private final ArrayList<FlapData> flaps;
|
||||
private final ArrayList<FlapInstance> flaps;
|
||||
|
||||
public FunnelInstance(VisualizationContext materialManager, FunnelBlockEntity blockEntity) {
|
||||
super(materialManager, blockEntity);
|
||||
public FunnelVisual(VisualizationContext context, FunnelBlockEntity blockEntity) {
|
||||
super(context, blockEntity);
|
||||
|
||||
flaps = new ArrayList<>(4);
|
||||
|
||||
|
@ -34,7 +34,7 @@ public class FunnelInstance extends AbstractBlockEntityVisual<FunnelBlockEntity>
|
|||
|
||||
PartialModel flapPartial = (blockState.getBlock() instanceof FunnelBlock ? AllPartialModels.FUNNEL_FLAP
|
||||
: AllPartialModels.BELT_FUNNEL_FLAP);
|
||||
Instancer<FlapData> model = instancerProvider.instancer(AllInstanceTypes.FLAPS, Models.partial(flapPartial), RenderStage.AFTER_BLOCK_ENTITIES);
|
||||
Instancer<FlapInstance> model = instancerProvider.instancer(AllInstanceTypes.FLAPS, Models.partial(flapPartial), RenderStage.AFTER_BLOCK_ENTITIES);
|
||||
|
||||
int blockLight = level.getBrightness(LightLayer.BLOCK, pos);
|
||||
int skyLight = level.getBrightness(LightLayer.SKY, pos);
|
||||
|
@ -48,7 +48,7 @@ public class FunnelInstance extends AbstractBlockEntityVisual<FunnelBlockEntity>
|
|||
float intensity = segment == 3 ? 1.5f : segment + 1;
|
||||
float segmentOffset = -3.05f / 16f * segment + 0.075f / 16f;
|
||||
|
||||
FlapData key = model.createInstance();
|
||||
FlapInstance key = model.createInstance();
|
||||
|
||||
key.setPosition(getVisualPosition())
|
||||
.setSegmentOffset(segmentOffset, 0, -blockEntity.getFlapOffset())
|
||||
|
@ -70,7 +70,7 @@ public class FunnelInstance extends AbstractBlockEntityVisual<FunnelBlockEntity>
|
|||
|
||||
float flapness = blockEntity.flap.getValue(AnimationTickHolder.getPartialTicks());
|
||||
|
||||
for (FlapData flap : flaps) {
|
||||
for (FlapInstance flap : flaps) {
|
||||
flap.setFlapness(flapness);
|
||||
}
|
||||
}
|
|
@ -16,7 +16,7 @@ import com.jozufozu.flywheel.lib.instance.AbstractInstance;
|
|||
import com.jozufozu.flywheel.lib.model.Models;
|
||||
import com.jozufozu.flywheel.lib.visual.AbstractBlockEntityVisual;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.logistics.flwdata.FlapData;
|
||||
import com.simibubi.create.content.logistics.flwdata.FlapInstance;
|
||||
import com.simibubi.create.foundation.render.AllInstanceTypes;
|
||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||
import com.simibubi.create.foundation.utility.animation.LerpedFloat;
|
||||
|
@ -24,16 +24,16 @@ import com.simibubi.create.foundation.utility.animation.LerpedFloat;
|
|||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.world.level.LightLayer;
|
||||
|
||||
public class BeltTunnelInstance extends AbstractBlockEntityVisual<BeltTunnelBlockEntity> implements DynamicVisual {
|
||||
public class BeltTunnelVisual extends AbstractBlockEntityVisual<BeltTunnelBlockEntity> implements DynamicVisual {
|
||||
|
||||
private final Map<Direction, ArrayList<FlapData>> tunnelFlaps;
|
||||
private final Map<Direction, ArrayList<FlapInstance>> tunnelFlaps;
|
||||
|
||||
public BeltTunnelInstance(VisualizationContext materialManager, BeltTunnelBlockEntity blockEntity) {
|
||||
super(materialManager, blockEntity);
|
||||
public BeltTunnelVisual(VisualizationContext context, BeltTunnelBlockEntity blockEntity) {
|
||||
super(context, blockEntity);
|
||||
|
||||
tunnelFlaps = new EnumMap<>(Direction.class);
|
||||
|
||||
Instancer<FlapData> model = instancerProvider.instancer(AllInstanceTypes.FLAPS, Models.partial(AllPartialModels.BELT_TUNNEL_FLAP), RenderStage.AFTER_BLOCK_ENTITIES);
|
||||
Instancer<FlapInstance> model = instancerProvider.instancer(AllInstanceTypes.FLAPS, Models.partial(AllPartialModels.BELT_TUNNEL_FLAP), RenderStage.AFTER_BLOCK_ENTITIES);
|
||||
|
||||
int blockLight = level.getBrightness(LightLayer.BLOCK, pos);
|
||||
int skyLight = level.getBrightness(LightLayer.SKY, pos);
|
||||
|
@ -46,13 +46,13 @@ public class BeltTunnelInstance extends AbstractBlockEntityVisual<BeltTunnelBloc
|
|||
|
||||
float flapScale = direction.getAxis() == Direction.Axis.X ? 1 : -1;
|
||||
|
||||
ArrayList<FlapData> flaps = new ArrayList<>(4);
|
||||
ArrayList<FlapInstance> flaps = new ArrayList<>(4);
|
||||
|
||||
for (int segment = 0; segment <= 3; segment++) {
|
||||
float intensity = segment == 3 ? 1.5f : segment + 1;
|
||||
float segmentOffset = -3.05f / 16f * segment + 0.075f / 16f;
|
||||
|
||||
FlapData key = model.createInstance();
|
||||
FlapInstance key = model.createInstance();
|
||||
|
||||
key.setPosition(getVisualPosition())
|
||||
.setSegmentOffset(segmentOffset, 0, 0)
|
||||
|
@ -84,7 +84,7 @@ public class BeltTunnelInstance extends AbstractBlockEntityVisual<BeltTunnelBloc
|
|||
return;
|
||||
|
||||
float flapness = lerpedFloat.getValue(AnimationTickHolder.getPartialTicks());
|
||||
for (FlapData flap : keys) {
|
||||
for (FlapInstance flap : keys) {
|
||||
flap.setFlapness(flapness);
|
||||
}
|
||||
});
|
|
@ -21,7 +21,7 @@ import com.simibubi.create.foundation.utility.Color;
|
|||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.world.level.block.state.properties.AttachFace;
|
||||
|
||||
public class AnalogLeverInstance extends AbstractBlockEntityVisual<AnalogLeverBlockEntity> implements DynamicVisual {
|
||||
public class AnalogLeverVisual extends AbstractBlockEntityVisual<AnalogLeverBlockEntity> implements DynamicVisual {
|
||||
|
||||
protected final TransformedInstance handle;
|
||||
protected final TransformedInstance indicator;
|
||||
|
@ -29,8 +29,8 @@ public class AnalogLeverInstance extends AbstractBlockEntityVisual<AnalogLeverBl
|
|||
final float rX;
|
||||
final float rY;
|
||||
|
||||
public AnalogLeverInstance(VisualizationContext materialManager, AnalogLeverBlockEntity blockEntity) {
|
||||
super(materialManager, blockEntity);
|
||||
public AnalogLeverVisual(VisualizationContext context, AnalogLeverBlockEntity blockEntity) {
|
||||
super(context, blockEntity);
|
||||
|
||||
handle = instancerProvider.instancer(InstanceTypes.TRANSFORMED, Models.partial(AllPartialModels.ANALOG_LEVER_HANDLE), RenderStage.AFTER_BLOCK_ENTITIES)
|
||||
.createInstance();
|
|
@ -14,14 +14,14 @@ import com.jozufozu.flywheel.lib.visual.AbstractBlockEntityVisual;
|
|||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.foundation.utility.Color;
|
||||
|
||||
public class BrassDiodeInstance extends AbstractBlockEntityVisual<BrassDiodeBlockEntity> implements TickableVisual {
|
||||
public class BrassDiodeVisual extends AbstractBlockEntityVisual<BrassDiodeBlockEntity> implements TickableVisual {
|
||||
|
||||
protected final TransformedInstance indicator;
|
||||
|
||||
protected int previousState;
|
||||
|
||||
public BrassDiodeInstance(VisualizationContext materialManager, BrassDiodeBlockEntity blockEntity) {
|
||||
super(materialManager, blockEntity);
|
||||
public BrassDiodeVisual(VisualizationContext context, BrassDiodeBlockEntity blockEntity) {
|
||||
super(context, blockEntity);
|
||||
|
||||
indicator = instancerProvider.instancer(InstanceTypes.TRANSFORMED, Models.partial(AllPartialModels.FLEXPEATER_INDICATOR), RenderStage.AFTER_BLOCK_ENTITIES).createInstance();
|
||||
|
|
@ -6,7 +6,6 @@ import com.jozufozu.flywheel.api.event.RenderStage;
|
|||
import com.jozufozu.flywheel.api.instance.Instance;
|
||||
import com.jozufozu.flywheel.api.visual.DynamicVisual;
|
||||
import com.jozufozu.flywheel.api.visual.VisualFrameContext;
|
||||
import com.jozufozu.flywheel.api.visual.VisualTickContext;
|
||||
import com.jozufozu.flywheel.api.visualization.VisualizationContext;
|
||||
import com.jozufozu.flywheel.lib.instance.InstanceTypes;
|
||||
import com.jozufozu.flywheel.lib.instance.TransformedInstance;
|
||||
|
@ -15,17 +14,16 @@ import com.jozufozu.flywheel.lib.transform.TransformStack;
|
|||
import com.jozufozu.flywheel.lib.visual.AbstractBlockEntityVisual;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||
|
||||
import net.minecraft.core.Direction;
|
||||
|
||||
public class SchematicannonInstance extends AbstractBlockEntityVisual<SchematicannonBlockEntity> implements DynamicVisual {
|
||||
public class SchematicannonVisual extends AbstractBlockEntityVisual<SchematicannonBlockEntity> implements DynamicVisual {
|
||||
|
||||
private final TransformedInstance connector;
|
||||
private final TransformedInstance pipe;
|
||||
|
||||
public SchematicannonInstance(VisualizationContext materialManager, SchematicannonBlockEntity blockEntity) {
|
||||
super(materialManager, blockEntity);
|
||||
public SchematicannonVisual(VisualizationContext context, SchematicannonBlockEntity blockEntity) {
|
||||
super(context, blockEntity);
|
||||
|
||||
connector = instancerProvider.instancer(InstanceTypes.TRANSFORMED, Models.partial(AllPartialModels.SCHEMATICANNON_CONNECTOR), RenderStage.AFTER_BLOCK_ENTITIES).createInstance();
|
||||
pipe = instancerProvider.instancer(InstanceTypes.TRANSFORMED, Models.partial(AllPartialModels.SCHEMATICANNON_PIPE), RenderStage.AFTER_BLOCK_ENTITIES).createInstance();
|
|
@ -16,7 +16,7 @@ public class BackupBogeyRenderer extends BogeyRenderer.CommonRenderer {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void initialiseContraptionModelData(VisualizationContext materialManager, CarriageBogey carriageBogey) {
|
||||
public void initialiseContraptionModelData(VisualizationContext context, CarriageBogey carriageBogey) {
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -181,21 +181,21 @@ public abstract class BogeyRenderer {
|
|||
/**
|
||||
* Provides render implementations a point in setup to instantiate all model data to be needed
|
||||
*
|
||||
* @param materialManager The material manager
|
||||
* @param context The visualization context
|
||||
* @param carriageBogey The bogey to create data for
|
||||
*/
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
public abstract void initialiseContraptionModelData(VisualizationContext materialManager, CarriageBogey carriageBogey);
|
||||
public abstract void initialiseContraptionModelData(VisualizationContext context, CarriageBogey carriageBogey);
|
||||
|
||||
/**
|
||||
* Creates instances of models for in-world rendering to a set length from a provided partial model
|
||||
*
|
||||
* @param materialManager The material manager
|
||||
* @param context The visualization context
|
||||
* @param model Partial model to be instanced
|
||||
* @param count Amount of models neeeded
|
||||
*/
|
||||
public void createModelInstance(VisualizationContext materialManager, PartialModel model, int count) {
|
||||
var instancer = materialManager.instancerProvider()
|
||||
public void createModelInstance(VisualizationContext context, PartialModel model, int count) {
|
||||
var instancer = context.instancerProvider()
|
||||
.instancer(InstanceTypes.TRANSFORMED, Models.partial(model), RenderStage.AFTER_BLOCK_ENTITIES);
|
||||
BogeyModelData[] modelData = IntStream.range(0, count)
|
||||
.mapToObj(i -> instancer.createInstance())
|
||||
|
@ -207,12 +207,12 @@ public abstract class BogeyRenderer {
|
|||
/**
|
||||
* Creates instances of models for in-contraption rendering to a set length from a provided blockstate
|
||||
*
|
||||
* @param materialManager The material manager
|
||||
* @param context The visualization context
|
||||
* @param state Blockstate of the model to be created
|
||||
* @param count Amount of models needed
|
||||
*/
|
||||
public void createModelInstance(VisualizationContext materialManager, BlockState state, int count) {
|
||||
var instancer = materialManager.instancerProvider()
|
||||
public void createModelInstance(VisualizationContext context, BlockState state, int count) {
|
||||
var instancer = context.instancerProvider()
|
||||
.instancer(InstanceTypes.TRANSFORMED, VirtualRenderHelper.blockModel(state), RenderStage.AFTER_BLOCK_ENTITIES);
|
||||
BogeyModelData[] modelData = IntStream.range(0, count)
|
||||
.mapToObj(i -> instancer.createInstance())
|
||||
|
@ -224,23 +224,23 @@ public abstract class BogeyRenderer {
|
|||
/**
|
||||
* Creates a single instance of models for in-contraption rendering from a provided blockstate
|
||||
*
|
||||
* @param materialManager The material manager
|
||||
* @param context The visualization context
|
||||
* @param states Blockstates of the models to be created
|
||||
*/
|
||||
public void createModelInstance(VisualizationContext materialManager, BlockState... states) {
|
||||
public void createModelInstance(VisualizationContext context, BlockState... states) {
|
||||
for (BlockState state : states)
|
||||
this.createModelInstance(materialManager, state, 1);
|
||||
this.createModelInstance(context, state, 1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper function to create a single model instance for in-contraption rendering
|
||||
*
|
||||
* @param materialManager The material manager
|
||||
* @param context The visualization context
|
||||
* @param models The type of model to create instances of
|
||||
*/
|
||||
public void createModelInstance(VisualizationContext materialManager, PartialModel... models) {
|
||||
public void createModelInstance(VisualizationContext context, PartialModel... models) {
|
||||
for (PartialModel model : models)
|
||||
createModelInstance(materialManager, model, 1);
|
||||
createModelInstance(context, model, 1);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -116,8 +116,8 @@ public class BogeyStyle {
|
|||
return this.commonRendererFactory.map(Supplier::get);
|
||||
}
|
||||
|
||||
public BogeyInstance createInstance(CarriageBogey bogey, BogeySizes.BogeySize size, VisualizationContext materialManager) {
|
||||
return new BogeyInstance(bogey, this, size, materialManager);
|
||||
public BogeyVisual createVisual(CarriageBogey bogey, BogeySizes.BogeySize size, VisualizationContext context) {
|
||||
return new BogeyVisual(bogey, this, size, context);
|
||||
}
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
|
|
|
@ -13,7 +13,7 @@ import net.minecraft.world.level.BlockAndTintGetter;
|
|||
import net.minecraft.world.level.LightLayer;
|
||||
import net.minecraft.world.phys.Vec3;
|
||||
|
||||
public final class BogeyInstance {
|
||||
public final class BogeyVisual {
|
||||
private final BogeySizes.BogeySize size;
|
||||
private final BogeyStyle style;
|
||||
|
||||
|
@ -21,8 +21,8 @@ public final class BogeyInstance {
|
|||
public final BogeyRenderer renderer;
|
||||
public final Optional<BogeyRenderer.CommonRenderer> commonRenderer;
|
||||
|
||||
public BogeyInstance(CarriageBogey bogey, BogeyStyle style, BogeySizes.BogeySize size,
|
||||
VisualizationContext materialManager) {
|
||||
public BogeyVisual(CarriageBogey bogey, BogeyStyle style, BogeySizes.BogeySize size,
|
||||
VisualizationContext context) {
|
||||
this.bogey = bogey;
|
||||
this.size = size;
|
||||
this.style = style;
|
||||
|
@ -30,8 +30,8 @@ public final class BogeyInstance {
|
|||
this.renderer = this.style.createRendererInstance(this.size);
|
||||
this.commonRenderer = this.style.getNewCommonRenderInstance();
|
||||
|
||||
commonRenderer.ifPresent(bogeyRenderer -> bogeyRenderer.initialiseContraptionModelData(materialManager, bogey));
|
||||
renderer.initialiseContraptionModelData(materialManager, bogey);
|
||||
commonRenderer.ifPresent(bogeyRenderer -> bogeyRenderer.initialiseContraptionModelData(context, bogey));
|
||||
renderer.initialiseContraptionModelData(context, bogey);
|
||||
}
|
||||
|
||||
public void beginFrame(float wheelAngle, PoseStack ms) {
|
||||
|
@ -59,7 +59,7 @@ public final class BogeyInstance {
|
|||
}
|
||||
|
||||
@FunctionalInterface
|
||||
interface BogeyInstanceFactory {
|
||||
BogeyInstance create(CarriageBogey bogey, BogeySizes.BogeySize size, VisualizationContext materialManager);
|
||||
interface BogeyVisualFactory {
|
||||
BogeyVisual create(CarriageBogey bogey, BogeySizes.BogeySize size, VisualizationContext context);
|
||||
}
|
||||
}
|
|
@ -22,8 +22,8 @@ import net.minecraft.nbt.CompoundTag;
|
|||
public class StandardBogeyRenderer {
|
||||
public static class CommonStandardBogeyRenderer extends BogeyRenderer.CommonRenderer {
|
||||
@Override
|
||||
public void initialiseContraptionModelData(VisualizationContext materialManager, CarriageBogey carriageBogey) {
|
||||
createModelInstance(materialManager, AllBlocks.SHAFT.getDefaultState()
|
||||
public void initialiseContraptionModelData(VisualizationContext context, CarriageBogey carriageBogey) {
|
||||
createModelInstance(context, AllBlocks.SHAFT.getDefaultState()
|
||||
.setValue(ShaftBlock.AXIS, Direction.Axis.Z), 2);
|
||||
}
|
||||
|
||||
|
@ -45,9 +45,9 @@ public class StandardBogeyRenderer {
|
|||
|
||||
public static class SmallStandardBogeyRenderer extends BogeyRenderer {
|
||||
@Override
|
||||
public void initialiseContraptionModelData(VisualizationContext materialManager, CarriageBogey carriageBogey) {
|
||||
createModelInstance(materialManager, SMALL_BOGEY_WHEELS, 2);
|
||||
createModelInstance(materialManager, BOGEY_FRAME);
|
||||
public void initialiseContraptionModelData(VisualizationContext context, CarriageBogey carriageBogey) {
|
||||
createModelInstance(context, SMALL_BOGEY_WHEELS, 2);
|
||||
createModelInstance(context, BOGEY_FRAME);
|
||||
}
|
||||
|
||||
|
||||
|
@ -78,9 +78,9 @@ public class StandardBogeyRenderer {
|
|||
|
||||
public static class LargeStandardBogeyRenderer extends BogeyRenderer {
|
||||
@Override
|
||||
public void initialiseContraptionModelData(VisualizationContext materialManager, CarriageBogey carriageBogey) {
|
||||
createModelInstance(materialManager, LARGE_BOGEY_WHEELS, BOGEY_DRIVE, BOGEY_PISTON, BOGEY_PIN);
|
||||
createModelInstance(materialManager, AllBlocks.SHAFT.getDefaultState()
|
||||
public void initialiseContraptionModelData(VisualizationContext context, CarriageBogey carriageBogey) {
|
||||
createModelInstance(context, LARGE_BOGEY_WHEELS, BOGEY_DRIVE, BOGEY_PISTON, BOGEY_PIN);
|
||||
createModelInstance(context, AllBlocks.SHAFT.getDefaultState()
|
||||
.setValue(ShaftBlock.AXIS, Direction.Axis.X), 2);
|
||||
}
|
||||
|
||||
|
|
|
@ -10,8 +10,8 @@ import com.simibubi.create.AllBogeyStyles;
|
|||
import com.simibubi.create.Create;
|
||||
import com.simibubi.create.content.trains.bogey.AbstractBogeyBlock;
|
||||
import com.simibubi.create.content.trains.bogey.AbstractBogeyBlockEntity;
|
||||
import com.simibubi.create.content.trains.bogey.BogeyInstance;
|
||||
import com.simibubi.create.content.trains.bogey.BogeyStyle;
|
||||
import com.simibubi.create.content.trains.bogey.BogeyVisual;
|
||||
import com.simibubi.create.content.trains.graph.DimensionPalette;
|
||||
import com.simibubi.create.content.trains.graph.TrackGraph;
|
||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||
|
@ -199,8 +199,8 @@ public class CarriageBogey {
|
|||
return new CarriageBogey(type, upsideDown, data, points.getFirst(), points.getSecond());
|
||||
}
|
||||
|
||||
public BogeyInstance createInstance(VisualizationContext materialManager) {
|
||||
return this.getStyle().createInstance(this, type.getSize(), materialManager);
|
||||
public BogeyVisual createVisual(VisualizationContext context) {
|
||||
return this.getStyle().createVisual(this, type.getSize(), context);
|
||||
}
|
||||
|
||||
public BogeyStyle getStyle() {
|
||||
|
|
|
@ -737,10 +737,10 @@ public class CarriageContraptionEntity extends OrientedContraptionEntity {
|
|||
}
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
private WeakReference<CarriageContraptionInstance> instanceHolder;
|
||||
private WeakReference<CarriageContraptionVisual> instanceHolder;
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
public void bindInstance(CarriageContraptionInstance instance) {
|
||||
public void bindInstance(CarriageContraptionVisual instance) {
|
||||
this.instanceHolder = new WeakReference<>(instance);
|
||||
updateRenderedPortalCutoff();
|
||||
}
|
||||
|
@ -780,7 +780,7 @@ public class CarriageContraptionEntity extends OrientedContraptionEntity {
|
|||
// update hidden bogeys (if instanced)
|
||||
if (instanceHolder == null)
|
||||
return;
|
||||
CarriageContraptionInstance instance = instanceHolder.get();
|
||||
CarriageContraptionVisual instance = instanceHolder.get();
|
||||
if (instance == null)
|
||||
return;
|
||||
|
||||
|
|
|
@ -8,22 +8,22 @@ import com.jozufozu.flywheel.api.visualization.VisualizationContext;
|
|||
import com.jozufozu.flywheel.lib.transform.TransformStack;
|
||||
import com.jozufozu.flywheel.lib.visual.AbstractEntityVisual;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.content.trains.bogey.BogeyInstance;
|
||||
import com.simibubi.create.content.trains.bogey.BogeyRenderer;
|
||||
import com.simibubi.create.content.trains.bogey.BogeyVisual;
|
||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||
import com.simibubi.create.foundation.utility.Couple;
|
||||
import com.simibubi.create.foundation.utility.Iterate;
|
||||
|
||||
public class CarriageContraptionInstance extends AbstractEntityVisual<CarriageContraptionEntity> implements DynamicVisual {
|
||||
public class CarriageContraptionVisual extends AbstractEntityVisual<CarriageContraptionEntity> implements DynamicVisual {
|
||||
|
||||
private final PoseStack ms = new PoseStack();
|
||||
|
||||
private Carriage carriage;
|
||||
private Couple<BogeyInstance> bogeys;
|
||||
private Couple<BogeyVisual> bogeys;
|
||||
private Couple<Boolean> bogeyHidden;
|
||||
|
||||
public CarriageContraptionInstance(VisualizationContext materialManager, CarriageContraptionEntity entity) {
|
||||
super(materialManager, entity);
|
||||
public CarriageContraptionVisual(VisualizationContext context, CarriageContraptionEntity entity) {
|
||||
super(context, entity);
|
||||
bogeyHidden = Couple.create(() -> false);
|
||||
entity.bindInstance(this);
|
||||
}
|
||||
|
@ -36,7 +36,7 @@ public class CarriageContraptionInstance extends AbstractEntityVisual<CarriageCo
|
|||
return;
|
||||
|
||||
bogeys = carriage.bogeys.mapNotNullWithParam((bogey, manager) ->
|
||||
bogey.getStyle().createInstance(bogey, bogey.type.getSize(), manager), visualizationContext);
|
||||
bogey.getStyle().createVisual(bogey, bogey.type.getSize(), manager), visualizationContext);
|
||||
updateLight();
|
||||
}
|
||||
|
||||
|
@ -65,7 +65,7 @@ public class CarriageContraptionInstance extends AbstractEntityVisual<CarriageCo
|
|||
.translate(instancePosition);
|
||||
|
||||
for (boolean current : Iterate.trueAndFalse) {
|
||||
BogeyInstance instance = bogeys.get(current);
|
||||
BogeyVisual instance = bogeys.get(current);
|
||||
if (instance == null)
|
||||
continue;
|
||||
if (bogeyHidden.get(current)) {
|
|
@ -26,16 +26,14 @@ import com.simibubi.create.content.trains.track.BezierConnection.SegmentAngles;
|
|||
import com.simibubi.create.foundation.utility.Couple;
|
||||
import com.simibubi.create.foundation.utility.Iterate;
|
||||
|
||||
import net.minecraft.client.renderer.RenderType;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraftforge.client.model.data.ModelData;
|
||||
|
||||
public class TrackInstance extends AbstractBlockEntityVisual<TrackBlockEntity> {
|
||||
public class TrackVisual extends AbstractBlockEntityVisual<TrackBlockEntity> {
|
||||
|
||||
private List<BezierTrackInstance> instances;
|
||||
private List<BezierTrackVisual> visuals;
|
||||
|
||||
public TrackInstance(VisualizationContext materialManager, TrackBlockEntity track) {
|
||||
super(materialManager, track);
|
||||
public TrackVisual(VisualizationContext context, TrackBlockEntity track) {
|
||||
super(context, track);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -44,7 +42,7 @@ public class TrackInstance extends AbstractBlockEntityVisual<TrackBlockEntity> {
|
|||
return;
|
||||
|
||||
_delete();
|
||||
instances = blockEntity.connections.values()
|
||||
visuals = blockEntity.connections.values()
|
||||
.stream()
|
||||
.map(this::createInstance)
|
||||
.filter(Objects::nonNull)
|
||||
|
@ -63,35 +61,35 @@ public class TrackInstance extends AbstractBlockEntityVisual<TrackBlockEntity> {
|
|||
|
||||
@Override
|
||||
public void updateLight() {
|
||||
if (instances == null)
|
||||
if (visuals == null)
|
||||
return;
|
||||
instances.forEach(BezierTrackInstance::updateLight);
|
||||
visuals.forEach(BezierTrackVisual::updateLight);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private BezierTrackInstance createInstance(BezierConnection bc) {
|
||||
private BezierTrackVisual createInstance(BezierConnection bc) {
|
||||
if (!bc.isPrimary())
|
||||
return null;
|
||||
return new BezierTrackInstance(bc);
|
||||
return new BezierTrackVisual(bc);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void _delete() {
|
||||
if (instances == null)
|
||||
if (visuals == null)
|
||||
return;
|
||||
instances.forEach(BezierTrackInstance::delete);
|
||||
visuals.forEach(BezierTrackVisual::delete);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void collectCrumblingInstances(Consumer<Instance> consumer) {
|
||||
if (instances == null)
|
||||
if (visuals == null)
|
||||
return;
|
||||
for (BezierTrackInstance instance : instances) {
|
||||
for (BezierTrackVisual instance : visuals) {
|
||||
instance.collectCrumblingInstances(consumer);
|
||||
}
|
||||
}
|
||||
|
||||
private class BezierTrackInstance {
|
||||
private class BezierTrackVisual {
|
||||
|
||||
private final TransformedInstance[] ties;
|
||||
private final TransformedInstance[] left;
|
||||
|
@ -100,11 +98,11 @@ public class TrackInstance extends AbstractBlockEntityVisual<TrackBlockEntity> {
|
|||
private final BlockPos[] leftLightPos;
|
||||
private final BlockPos[] rightLightPos;
|
||||
|
||||
private @Nullable GirderInstance girder;
|
||||
private @Nullable GirderVisual girder;
|
||||
|
||||
private BezierTrackInstance(BezierConnection bc) {
|
||||
private BezierTrackVisual(BezierConnection bc) {
|
||||
BlockPos tePosition = bc.tePositions.getFirst();
|
||||
girder = bc.hasGirder ? new GirderInstance(bc) : null;
|
||||
girder = bc.hasGirder ? new GirderVisual(bc) : null;
|
||||
|
||||
PoseStack pose = new PoseStack();
|
||||
TransformStack.of(pose)
|
||||
|
@ -182,13 +180,13 @@ public class TrackInstance extends AbstractBlockEntityVisual<TrackBlockEntity> {
|
|||
girder.collectCrumblingInstances(consumer);
|
||||
}
|
||||
|
||||
private class GirderInstance {
|
||||
private class GirderVisual {
|
||||
|
||||
private final Couple<TransformedInstance[]> beams;
|
||||
private final Couple<Couple<TransformedInstance[]>> beamCaps;
|
||||
private final BlockPos[] lightPos;
|
||||
|
||||
private GirderInstance(BezierConnection bc) {
|
||||
private GirderVisual(BezierConnection bc) {
|
||||
BlockPos tePosition = bc.tePositions.getFirst();
|
||||
PoseStack pose = new PoseStack();
|
||||
TransformStack.of(pose)
|
|
@ -9,10 +9,10 @@ import com.jozufozu.flywheel.api.layout.FloatRepr;
|
|||
import com.jozufozu.flywheel.api.layout.IntegerRepr;
|
||||
import com.jozufozu.flywheel.api.layout.LayoutBuilder;
|
||||
import com.jozufozu.flywheel.lib.instance.SimpleInstanceType;
|
||||
import com.simibubi.create.content.contraptions.actors.flwdata.ActorInstance;
|
||||
import com.simibubi.create.content.contraptions.actors.ActorInstance;
|
||||
import com.simibubi.create.content.kinetics.base.RotatingInstance;
|
||||
import com.simibubi.create.content.kinetics.belt.BeltInstance;
|
||||
import com.simibubi.create.content.logistics.flwdata.FlapData;
|
||||
import com.simibubi.create.content.logistics.flwdata.FlapInstance;
|
||||
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
|
@ -120,7 +120,7 @@ public class AllInstanceTypes {
|
|||
MemoryUtil.memPutFloat(ptr + 42, instance.speed);
|
||||
})
|
||||
.register();
|
||||
public static final InstanceType<FlapData> FLAPS = SimpleInstanceType.builder(FlapData::new)
|
||||
public static final InstanceType<FlapInstance> FLAPS = SimpleInstanceType.builder(FlapInstance::new)
|
||||
.cullShader(asResource("instance/cull/flap.glsl"))
|
||||
.vertexShader(asResource("instance/flap.vert"))
|
||||
.layout(LayoutBuilder.create()
|
||||
|
|
Loading…
Add table
Reference in a new issue