Merge remote-tracking branch 'origin/master' into fabric/master
# Conflicts: # src/main/java/appeng/block/misc/ChargerBlock.java # src/main/java/appeng/core/api/definitions/ApiBlocks.java
This commit is contained in:
@@ -19,24 +19,15 @@
|
|||||||
package appeng.block.misc;
|
package appeng.block.misc;
|
||||||
|
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
import java.util.function.Function;
|
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
import org.apache.commons.lang3.tuple.ImmutablePair;
|
|
||||||
import org.apache.commons.lang3.tuple.Pair;
|
|
||||||
|
|
||||||
import net.fabricmc.api.EnvType;
|
import net.fabricmc.api.EnvType;
|
||||||
import net.fabricmc.api.Environment;
|
import net.fabricmc.api.Environment;
|
||||||
import net.minecraft.block.BlockState;
|
import net.minecraft.block.BlockState;
|
||||||
import net.minecraft.block.Material;
|
import net.minecraft.block.Material;
|
||||||
import net.minecraft.block.ShapeContext;
|
import net.minecraft.block.ShapeContext;
|
||||||
import net.minecraft.client.MinecraftClient;
|
import net.minecraft.client.MinecraftClient;
|
||||||
import net.minecraft.client.render.block.entity.BlockEntityRenderDispatcher;
|
|
||||||
import net.minecraft.client.render.block.entity.BlockEntityRenderer;
|
|
||||||
import net.minecraft.client.render.model.json.Transformation;
|
|
||||||
import net.minecraft.client.util.math.AffineTransformation;
|
|
||||||
import net.minecraft.client.util.math.Vector3f;
|
|
||||||
import net.minecraft.entity.player.PlayerEntity;
|
import net.minecraft.entity.player.PlayerEntity;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.util.ActionResult;
|
import net.minecraft.util.ActionResult;
|
||||||
@@ -53,8 +44,6 @@ import net.minecraft.world.World;
|
|||||||
import appeng.api.util.AEAxisAlignedBB;
|
import appeng.api.util.AEAxisAlignedBB;
|
||||||
import appeng.block.AEBaseTileBlock;
|
import appeng.block.AEBaseTileBlock;
|
||||||
import appeng.client.render.effects.ParticleTypes;
|
import appeng.client.render.effects.ParticleTypes;
|
||||||
import appeng.client.render.renderable.ItemRenderable;
|
|
||||||
import appeng.client.render.tesr.ModularTESR;
|
|
||||||
import appeng.core.AEConfig;
|
import appeng.core.AEConfig;
|
||||||
import appeng.core.Api;
|
import appeng.core.Api;
|
||||||
import appeng.core.AppEng;
|
import appeng.core.AppEng;
|
||||||
@@ -176,16 +165,4 @@ public class ChargerBlock extends AEBaseTileBlock<ChargerBlockEntity> {
|
|||||||
return VoxelShapes.cuboid(new Box(0.0, 0.0, 0.0, 1.0, 1.0, 1.0));
|
return VoxelShapes.cuboid(new Box(0.0, 0.0, 0.0, 1.0, 1.0, 1.0));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Environment(EnvType.CLIENT)
|
|
||||||
public static Function<BlockEntityRenderDispatcher, BlockEntityRenderer<ChargerBlockEntity>> createTesr() {
|
|
||||||
return dispatcher -> new ModularTESR<>(dispatcher, new ItemRenderable<>(ChargerBlock::getRenderedItem));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Environment(EnvType.CLIENT)
|
|
||||||
private static Pair<ItemStack, Transformation> getRenderedItem(ChargerBlockEntity tile) {
|
|
||||||
Transformation transform = new Transformation(new Vector3f(), new Vector3f(0.5f, 0.375f, 0.5f),
|
|
||||||
new Vector3f(1f, 1f, 1f));
|
|
||||||
return new ImmutablePair<>(tile.getInternalInventory().getInvStack(0), transform);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,30 @@
|
|||||||
|
package appeng.client.render.tesr;
|
||||||
|
|
||||||
|
import java.util.function.Function;
|
||||||
|
|
||||||
|
import org.apache.commons.lang3.tuple.ImmutablePair;
|
||||||
|
import org.apache.commons.lang3.tuple.Pair;
|
||||||
|
|
||||||
|
import net.minecraft.client.renderer.tileentity.TileEntityRenderer;
|
||||||
|
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.util.math.vector.TransformationMatrix;
|
||||||
|
import net.minecraft.util.math.vector.Vector3f;
|
||||||
|
|
||||||
|
import appeng.client.render.renderable.ItemRenderable;
|
||||||
|
import appeng.tile.misc.ChargerTileEntity;
|
||||||
|
|
||||||
|
public final class ChargerTESR {
|
||||||
|
|
||||||
|
private ChargerTESR() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Function<TileEntityRendererDispatcher, TileEntityRenderer<ChargerTileEntity>> FACTORY = dispatcher -> new ModularTESR<>(
|
||||||
|
dispatcher, new ItemRenderable<>(ChargerTESR::getRenderedItem));
|
||||||
|
|
||||||
|
private static Pair<ItemStack, TransformationMatrix> getRenderedItem(ChargerTileEntity tile) {
|
||||||
|
TransformationMatrix transform = new TransformationMatrix(new Vector3f(0.5f, 0.375f, 0.5f), null, null, null);
|
||||||
|
return new ImmutablePair<>(tile.getInternalInventory().getStackInSlot(0), transform);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -98,6 +98,7 @@ import appeng.client.render.crafting.CraftingMonitorTESR;
|
|||||||
import appeng.client.render.crafting.MonitorBakedModel;
|
import appeng.client.render.crafting.MonitorBakedModel;
|
||||||
import appeng.client.render.model.AutoRotatingBakedModel;
|
import appeng.client.render.model.AutoRotatingBakedModel;
|
||||||
import appeng.client.render.spatial.SpatialPylonRendering;
|
import appeng.client.render.spatial.SpatialPylonRendering;
|
||||||
|
import appeng.client.render.tesr.ChargerTESR;
|
||||||
import appeng.client.render.tesr.ChestTileEntityRenderer;
|
import appeng.client.render.tesr.ChestTileEntityRenderer;
|
||||||
import appeng.client.render.tesr.CrankTESR;
|
import appeng.client.render.tesr.CrankTESR;
|
||||||
import appeng.client.render.tesr.DriveLedTileEntityRenderer;
|
import appeng.client.render.tesr.DriveLedTileEntityRenderer;
|
||||||
@@ -376,7 +377,7 @@ public final class ApiBlocks implements IBlocks {
|
|||||||
@Override
|
@Override
|
||||||
@Environment(EnvType.CLIENT)
|
@Environment(EnvType.CLIENT)
|
||||||
public void customize(TileEntityRendering<ChargerBlockEntity> rendering) {
|
public void customize(TileEntityRendering<ChargerBlockEntity> rendering) {
|
||||||
rendering.tileEntityRenderer(ChargerBlock.createTesr());
|
rendering.tileEntityRenderer(ChargerTESR.FACTORY);
|
||||||
}
|
}
|
||||||
}).build())
|
}).build())
|
||||||
.build();
|
.build();
|
||||||
|
|||||||
Reference in New Issue
Block a user