mirror of
https://github.com/SquidDev-CC/CC-Tweaked
synced 2025-10-30 13:13:00 +00:00
Fabric lol
- Add support for Fabric. This is mostly pretty simple, though does require a lot more mixins than Forge. Half this diff is due to data generators: we run them separately as some aspects (recipes mostly) are different between the loaders. - Add integration with Iris (same as our Oculus support) and REI (mostly the same as our JEI support). - Generic peripherals only support inventories (or rather InventoryStorage) right now. Supporting more of the Fabric storage API is going to be tricky due to the slotted nature of the API: maybe something to revisit after Transfer API V3 (V4?, I've lost track). Note, this does /not/ mean I will be publishing a Fabric version of CC:T. My plan is to rebase CC:R on top of this, hopefully simplifying the maintenance work on their end and making the two mods a little more consistent.
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
/*
|
||||
* This file is part of ComputerCraft - http://www.computercraft.info
|
||||
* Copyright Daniel Ratcliffe, 2011-2022. Do not distribute without permission.
|
||||
* Send enquiries to dratcliffe@gmail.com
|
||||
*/
|
||||
package dan200.computercraft.client;
|
||||
|
||||
import dan200.computercraft.client.model.turtle.TurtleModelLoader;
|
||||
import dan200.computercraft.shared.ModRegistry;
|
||||
import dan200.computercraft.shared.network.client.ClientNetworkContext;
|
||||
import dan200.computercraft.shared.peripheral.modem.wired.CableBlock;
|
||||
import dan200.computercraft.shared.platform.NetworkHandler;
|
||||
import net.fabricmc.fabric.api.blockrenderlayer.v1.BlockRenderLayerMap;
|
||||
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
|
||||
import net.fabricmc.fabric.api.client.model.ModelLoadingRegistry;
|
||||
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
|
||||
import net.fabricmc.fabric.api.client.rendering.v1.BlockEntityRendererRegistry;
|
||||
import net.fabricmc.fabric.api.client.rendering.v1.ColorProviderRegistry;
|
||||
import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderEvents;
|
||||
import net.fabricmc.fabric.api.event.client.player.ClientPickBlockGatherCallback;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.renderer.RenderType;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.phys.BlockHitResult;
|
||||
import net.minecraft.world.phys.HitResult;
|
||||
|
||||
import static dan200.computercraft.core.util.Nullability.assertNonNull;
|
||||
|
||||
public class ComputerCraftClient {
|
||||
public static void init() {
|
||||
ClientPlayNetworking.registerGlobalReceiver(NetworkHandler.ID, (client, handler, buf, responseSender) -> {
|
||||
var packet = NetworkHandler.decodeClient(buf);
|
||||
if (packet != null) client.execute(() -> packet.handle(ClientNetworkContext.get()));
|
||||
});
|
||||
|
||||
ClientRegistry.register();
|
||||
ClientRegistry.registerItemColours(ColorProviderRegistry.ITEM::register);
|
||||
ClientRegistry.registerBlockEntityRenderers(BlockEntityRendererRegistry::register);
|
||||
ClientRegistry.registerMainThread();
|
||||
|
||||
|
||||
ModelLoadingRegistry.INSTANCE.registerModelProvider((manager, out) -> ClientRegistry.registerExtraModels(out));
|
||||
ModelLoadingRegistry.INSTANCE.registerResourceProvider(loader -> (path, ctx) -> TurtleModelLoader.load(loader, path));
|
||||
BlockRenderLayerMap.INSTANCE.putBlock(ModRegistry.Blocks.MONITOR_NORMAL.get(), RenderType.cutout());
|
||||
BlockRenderLayerMap.INSTANCE.putBlock(ModRegistry.Blocks.MONITOR_ADVANCED.get(), RenderType.cutout());
|
||||
|
||||
ClientTickEvents.START_CLIENT_TICK.register(client -> ClientHooks.onTick());
|
||||
// This isn't 100% consistent with Forge, but not worth a mixin.
|
||||
WorldRenderEvents.START.register(context -> ClientHooks.onRenderTick());
|
||||
WorldRenderEvents.BLOCK_OUTLINE.register((context, hitResult) -> {
|
||||
var hit = Minecraft.getInstance().hitResult;
|
||||
if (hit instanceof BlockHitResult blockHit && blockHit.getBlockPos().equals(hitResult.blockPos())) {
|
||||
return !ClientHooks.drawHighlight(context.matrixStack(), assertNonNull(context.consumers()), context.camera(), blockHit);
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
// Easier to hook in as an event than use BlockPickInteractionAware.
|
||||
ClientPickBlockGatherCallback.EVENT.register((player, hit) -> {
|
||||
if (hit.getType() != HitResult.Type.BLOCK) return ItemStack.EMPTY;
|
||||
|
||||
var pos = ((BlockHitResult) hit).getBlockPos();
|
||||
var level = Minecraft.getInstance().level;
|
||||
var state = level.getBlockState(pos);
|
||||
if (!(state.getBlock() instanceof CableBlock cable)) return ItemStack.EMPTY;
|
||||
|
||||
return cable.getCloneItemStack(state, hit, level, pos, player);
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,72 @@
|
||||
/*
|
||||
* This file is part of ComputerCraft - http://www.computercraft.info
|
||||
* Copyright Daniel Ratcliffe, 2011-2022. Do not distribute without permission.
|
||||
* Send enquiries to dratcliffe@gmail.com
|
||||
*/
|
||||
package dan200.computercraft.client.integration;
|
||||
|
||||
import com.google.auto.service.AutoService;
|
||||
import com.mojang.blaze3d.vertex.VertexFormat;
|
||||
import dan200.computercraft.client.render.RenderTypes;
|
||||
import dan200.computercraft.client.render.text.DirectFixedWidthFontRenderer;
|
||||
import net.fabricmc.loader.api.FabricLoader;
|
||||
import net.irisshaders.iris.api.v0.IrisApi;
|
||||
import net.irisshaders.iris.api.v0.IrisTextVertexSink;
|
||||
|
||||
import java.nio.ByteBuffer;
|
||||
import java.util.Optional;
|
||||
import java.util.function.IntFunction;
|
||||
|
||||
@AutoService(ShaderMod.Provider.class)
|
||||
public class IrisShaderMod implements ShaderMod.Provider {
|
||||
@Override
|
||||
public Optional<ShaderMod> get() {
|
||||
return FabricLoader.getInstance().isModLoaded("iris") ? Optional.of(new Impl()) : Optional.empty();
|
||||
}
|
||||
|
||||
private static final class Impl extends ShaderMod {
|
||||
@Override
|
||||
public boolean isRenderingShadowPass() {
|
||||
return IrisApi.getInstance().isRenderingShadowPass();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isShaderMod() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DirectFixedWidthFontRenderer.QuadEmitter getQuadEmitter(int vertexCount, IntFunction<ByteBuffer> makeBuffer) {
|
||||
return IrisApi.getInstance().getMinorApiRevision() >= 1
|
||||
? new IrisQuadEmitter(vertexCount, makeBuffer)
|
||||
: super.getQuadEmitter(vertexCount, makeBuffer);
|
||||
}
|
||||
|
||||
private static final class IrisQuadEmitter implements DirectFixedWidthFontRenderer.QuadEmitter {
|
||||
private final IrisTextVertexSink sink;
|
||||
|
||||
private IrisQuadEmitter(int vertexCount, IntFunction<ByteBuffer> makeBuffer) {
|
||||
sink = IrisApi.getInstance().createTextVertexSink(vertexCount, makeBuffer);
|
||||
}
|
||||
|
||||
@Override
|
||||
public VertexFormat format() {
|
||||
return sink.getUnderlyingVertexFormat();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ByteBuffer buffer() {
|
||||
return sink.getUnderlyingByteBuffer();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void quad(float x1, float y1, float x2, float y2, float z, byte[] rgba, float u1, float v1, float u2, float v2) {
|
||||
sink.quad(x1, y1, x2, y2, z, pack(rgba[0], rgba[1], rgba[2], rgba[3]), u1, v1, u2, v2, RenderTypes.FULL_BRIGHT_LIGHTMAP);
|
||||
}
|
||||
|
||||
private static int pack(int r, int g, int b, int a) {
|
||||
return (a & 255) << 24 | (b & 255) << 16 | (g & 255) << 8 | r & 255;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
/*
|
||||
* This file is part of ComputerCraft - http://www.computercraft.info
|
||||
* Copyright Daniel Ratcliffe, 2011-2022. Do not distribute without permission.
|
||||
* Send enquiries to dratcliffe@gmail.com
|
||||
*/
|
||||
package dan200.computercraft.client.integration.rei;
|
||||
|
||||
import dan200.computercraft.api.turtle.TurtleSide;
|
||||
import dan200.computercraft.shared.ModRegistry;
|
||||
import dan200.computercraft.shared.integration.RecipeModHelpers;
|
||||
import dan200.computercraft.shared.pocket.items.PocketComputerItem;
|
||||
import dan200.computercraft.shared.turtle.items.TurtleItem;
|
||||
import dev.architectury.event.EventResult;
|
||||
import me.shedaniel.rei.api.client.plugins.REIClientPlugin;
|
||||
import me.shedaniel.rei.api.client.registry.display.DisplayRegistry;
|
||||
import me.shedaniel.rei.api.common.entry.comparison.ItemComparatorRegistry;
|
||||
import me.shedaniel.rei.plugin.common.BuiltinPlugin;
|
||||
|
||||
/**
|
||||
* REI integration for ComputerCraft.
|
||||
* <p>
|
||||
* This is Fabric-only for now - getting the common jar working outside of architectury is awkward.
|
||||
*/
|
||||
public class REIComputerCraft implements REIClientPlugin {
|
||||
@Override
|
||||
public void registerItemComparators(ItemComparatorRegistry registry) {
|
||||
registry.register((context, stack) -> {
|
||||
var turtle = (TurtleItem) stack.getItem();
|
||||
|
||||
long hash = 1;
|
||||
|
||||
var left = turtle.getUpgrade(stack, TurtleSide.LEFT);
|
||||
var right = turtle.getUpgrade(stack, TurtleSide.RIGHT);
|
||||
if (left != null) hash = hash * 31 + left.getUpgradeID().hashCode();
|
||||
if (right != null) hash = hash * 31 + right.getUpgradeID().hashCode();
|
||||
|
||||
return hash;
|
||||
}, ModRegistry.Items.TURTLE_NORMAL.get(), ModRegistry.Items.TURTLE_ADVANCED.get());
|
||||
|
||||
registry.register((context, stack) -> {
|
||||
var upgrade = PocketComputerItem.getUpgrade(stack);
|
||||
return upgrade == null ? 1 : upgrade.getUpgradeID().hashCode();
|
||||
}, ModRegistry.Items.POCKET_COMPUTER_NORMAL.get(), ModRegistry.Items.POCKET_COMPUTER_ADVANCED.get());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerDisplays(DisplayRegistry registry) {
|
||||
registry.registerDisplayGenerator(BuiltinPlugin.CRAFTING, new UpgradeDisplayGenerator());
|
||||
|
||||
// Hide all upgrade recipes
|
||||
registry.registerVisibilityPredicate((category, display) ->
|
||||
display.getDisplayLocation().map(RecipeModHelpers::shouldRemoveRecipe).orElse(false)
|
||||
? EventResult.interruptFalse() : EventResult.pass());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
/*
|
||||
* This file is part of ComputerCraft - http://www.computercraft.info
|
||||
* Copyright Daniel Ratcliffe, 2011-2022. Do not distribute without permission.
|
||||
* Send enquiries to dratcliffe@gmail.com
|
||||
*/
|
||||
package dan200.computercraft.client.integration.rei;
|
||||
|
||||
import dan200.computercraft.shared.integration.UpgradeRecipeGenerator;
|
||||
import me.shedaniel.rei.api.client.registry.display.DynamicDisplayGenerator;
|
||||
import me.shedaniel.rei.api.common.entry.EntryStack;
|
||||
import me.shedaniel.rei.api.common.entry.type.VanillaEntryTypes;
|
||||
import me.shedaniel.rei.plugin.common.displays.crafting.DefaultCraftingDisplay;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* Provides custom recipe and usage hints for pocket/turtle upgrades.
|
||||
*/
|
||||
class UpgradeDisplayGenerator implements DynamicDisplayGenerator<DefaultCraftingDisplay<?>> {
|
||||
private final UpgradeRecipeGenerator<DefaultCraftingDisplay<?>> resolver = new UpgradeRecipeGenerator<>(DefaultCraftingDisplay::of);
|
||||
|
||||
@Override
|
||||
public Optional<List<DefaultCraftingDisplay<?>>> getRecipeFor(EntryStack<?> entry) {
|
||||
return entry.getType() == VanillaEntryTypes.ITEM ? Optional.of(resolver.findRecipesWithOutput(entry.castValue())) : Optional.empty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<List<DefaultCraftingDisplay<?>>> getUsageFor(EntryStack<?> entry) {
|
||||
return entry.getType() == VanillaEntryTypes.ITEM ? Optional.of(resolver.findRecipesWithInput(entry.castValue())) : Optional.empty();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
/*
|
||||
* This file is part of ComputerCraft - http://www.computercraft.info
|
||||
* Copyright Daniel Ratcliffe, 2011-2022. Do not distribute without permission.
|
||||
* Send enquiries to dratcliffe@gmail.com
|
||||
*/
|
||||
package dan200.computercraft.client.model;
|
||||
|
||||
import net.minecraft.client.renderer.block.model.BakedQuad;
|
||||
import net.minecraft.client.resources.model.BakedModel;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.util.RandomSource;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.*;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
/**
|
||||
* A {@link BakedModel} formed from two or more other models stitched together.
|
||||
*/
|
||||
public class CompositeBakedModel extends CustomBakedModel {
|
||||
private final List<BakedModel> models;
|
||||
|
||||
public CompositeBakedModel(List<BakedModel> models) {
|
||||
super(models.get(0));
|
||||
this.models = models;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<BakedQuad> getQuads(@Nullable BlockState blockState, @Nullable Direction face, RandomSource rand) {
|
||||
@SuppressWarnings({ "unchecked", "rawtypes" })
|
||||
List<BakedQuad>[] quads = new List[models.size()];
|
||||
|
||||
var i = 0;
|
||||
for (var model : models) quads[i++] = model.getQuads(blockState, face, rand);
|
||||
return new ConcatListView(quads);
|
||||
}
|
||||
|
||||
private static final class ConcatListView extends AbstractList<BakedQuad> {
|
||||
private final List<BakedQuad>[] quads;
|
||||
|
||||
private ConcatListView(List<BakedQuad>[] quads) {
|
||||
this.quads = quads;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterator<BakedQuad> iterator() {
|
||||
return stream().iterator();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Stream<BakedQuad> stream() {
|
||||
return Arrays.stream(quads).flatMap(Collection::stream);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BakedQuad get(int index) {
|
||||
var i = index;
|
||||
for (var modelQuads : quads) {
|
||||
if (i < modelQuads.size()) return modelQuads.get(i);
|
||||
i -= modelQuads.size();
|
||||
}
|
||||
|
||||
throw new IndexOutOfBoundsException(i);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int size() {
|
||||
var size = 0;
|
||||
for (var modelQuads : quads) size += modelQuads.size();
|
||||
return size;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
* This file is part of ComputerCraft - http://www.computercraft.info
|
||||
* Copyright Daniel Ratcliffe, 2011-2022. Do not distribute without permission.
|
||||
* Send enquiries to dratcliffe@gmail.com
|
||||
*/
|
||||
package dan200.computercraft.client.model;
|
||||
|
||||
import net.fabricmc.fabric.api.renderer.v1.model.ForwardingBakedModel;
|
||||
import net.fabricmc.fabric.api.renderer.v1.render.RenderContext;
|
||||
import net.minecraft.client.renderer.block.model.BakedQuad;
|
||||
import net.minecraft.client.resources.model.BakedModel;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.util.RandomSource;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.level.BlockAndTintGetter;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.List;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
/**
|
||||
* A subclass of {@link ForwardingBakedModel} which doesn't forward rendering.
|
||||
*/
|
||||
public abstract class CustomBakedModel extends ForwardingBakedModel {
|
||||
public CustomBakedModel(BakedModel wrapped) {
|
||||
this.wrapped = wrapped;
|
||||
}
|
||||
|
||||
@Override
|
||||
public abstract List<BakedQuad> getQuads(@Nullable BlockState blockState, @Nullable Direction face, RandomSource rand);
|
||||
|
||||
@Override
|
||||
public final void emitBlockQuads(BlockAndTintGetter blockView, BlockState state, BlockPos pos, Supplier<RandomSource> randomSupplier, RenderContext context) {
|
||||
context.fallbackConsumer().accept(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void emitItemQuads(ItemStack stack, Supplier<RandomSource> randomSupplier, RenderContext context) {
|
||||
context.fallbackConsumer().accept(this);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
/*
|
||||
* This file is part of ComputerCraft - http://www.computercraft.info
|
||||
* Copyright Daniel Ratcliffe, 2011-2022. Do not distribute without permission.
|
||||
* Send enquiries to dratcliffe@gmail.com
|
||||
*/
|
||||
package dan200.computercraft.client.model;
|
||||
|
||||
import com.mojang.blaze3d.vertex.DefaultVertexFormat;
|
||||
import com.mojang.blaze3d.vertex.VertexFormat;
|
||||
import com.mojang.blaze3d.vertex.VertexFormatElement;
|
||||
import com.mojang.math.Matrix4f;
|
||||
import com.mojang.math.Transformation;
|
||||
import com.mojang.math.Vector4f;
|
||||
import net.minecraft.client.renderer.block.model.BakedQuad;
|
||||
import net.minecraft.client.resources.model.BakedModel;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.util.RandomSource;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* A {@link BakedModel} which applies a transformation matrix to its underlying quads.
|
||||
*/
|
||||
public class TransformedBakedModel extends CustomBakedModel {
|
||||
private static final int STRIDE = DefaultVertexFormat.BLOCK.getIntegerSize();
|
||||
private static final int POS_OFFSET = findOffset(DefaultVertexFormat.BLOCK, DefaultVertexFormat.ELEMENT_POSITION);
|
||||
|
||||
private final Matrix4f transformation;
|
||||
private @Nullable TransformedQuads cache;
|
||||
|
||||
public TransformedBakedModel(BakedModel model, Transformation transformation) {
|
||||
super(model);
|
||||
this.transformation = transformation.getMatrix();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<BakedQuad> getQuads(@Nullable BlockState blockState, @Nullable Direction face, RandomSource rand) {
|
||||
var cache = this.cache;
|
||||
var quads = wrapped.getQuads(blockState, face, rand);
|
||||
if (quads.isEmpty()) return List.of();
|
||||
|
||||
// We do some basic caching here to avoid recomputing every frame. Most turtle models don't have culled faces,
|
||||
// so it's not worth being smarter here.
|
||||
if (cache != null && quads.equals(cache.original())) return cache.transformed();
|
||||
|
||||
List<BakedQuad> transformed = new ArrayList<>(quads.size());
|
||||
for (var quad : quads) transformed.add(transformQuad(quad));
|
||||
this.cache = new TransformedQuads(quads, transformed);
|
||||
return transformed;
|
||||
}
|
||||
|
||||
private BakedQuad transformQuad(BakedQuad quad) {
|
||||
var vertexData = quad.getVertices().clone();
|
||||
for (var i = 0; i < 4; i++) {
|
||||
// Apply the matrix to our position
|
||||
var start = STRIDE * i + POS_OFFSET;
|
||||
|
||||
var x = Float.intBitsToFloat(vertexData[start]);
|
||||
var y = Float.intBitsToFloat(vertexData[start + 1]);
|
||||
var z = Float.intBitsToFloat(vertexData[start + 2]);
|
||||
|
||||
// Transform the position
|
||||
var pos = new Vector4f(x, y, z, 1);
|
||||
pos.transform(transformation);
|
||||
pos.perspectiveDivide();
|
||||
|
||||
vertexData[start] = Float.floatToRawIntBits(pos.x());
|
||||
vertexData[start + 1] = Float.floatToRawIntBits(pos.y());
|
||||
vertexData[start + 2] = Float.floatToRawIntBits(pos.z());
|
||||
}
|
||||
|
||||
return new BakedQuad(vertexData, quad.getTintIndex(), quad.getDirection(), quad.getSprite(), quad.isShade());
|
||||
}
|
||||
|
||||
private record TransformedQuads(List<BakedQuad> original, List<BakedQuad> transformed) {
|
||||
}
|
||||
|
||||
private static int findOffset(VertexFormat format, VertexFormatElement element) {
|
||||
var offset = 0;
|
||||
for (var other : format.getElements()) {
|
||||
if (other == element) return offset / Integer.BYTES;
|
||||
offset += element.getByteSize();
|
||||
}
|
||||
throw new IllegalArgumentException("Cannot find " + element + " in " + format);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
/*
|
||||
* This file is part of ComputerCraft - http://www.computercraft.info
|
||||
* Copyright Daniel Ratcliffe, 2011-2022. Do not distribute without permission.
|
||||
* Send enquiries to dratcliffe@gmail.com
|
||||
*/
|
||||
package dan200.computercraft.client.model.turtle;
|
||||
|
||||
import dan200.computercraft.client.model.CompositeBakedModel;
|
||||
import dan200.computercraft.client.model.TransformedBakedModel;
|
||||
import net.fabricmc.fabric.api.renderer.v1.model.ForwardingBakedModel;
|
||||
import net.minecraft.client.multiplayer.ClientLevel;
|
||||
import net.minecraft.client.renderer.block.model.ItemOverrides;
|
||||
import net.minecraft.client.resources.model.BakedModel;
|
||||
import net.minecraft.world.entity.LivingEntity;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class TurtleModel extends ForwardingBakedModel {
|
||||
private final TurtleModelParts parts;
|
||||
|
||||
private final Map<TurtleModelParts.Combination, BakedModel> cachedModels = new HashMap<>();
|
||||
private final ItemOverrides overrides = new ItemOverrides() {
|
||||
@Override
|
||||
public BakedModel resolve(BakedModel model, ItemStack stack, @Nullable ClientLevel level, @Nullable LivingEntity entity, int seed) {
|
||||
return cachedModels.computeIfAbsent(parts.getCombination(stack), TurtleModel.this::buildModel);
|
||||
}
|
||||
};
|
||||
|
||||
public TurtleModel(BakedModel familyModel, BakedModel colourModel) {
|
||||
wrapped = familyModel;
|
||||
parts = new TurtleModelParts(familyModel, colourModel, TransformedBakedModel::new);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemOverrides getOverrides() {
|
||||
return overrides;
|
||||
}
|
||||
|
||||
private BakedModel buildModel(TurtleModelParts.Combination combo) {
|
||||
var models = parts.buildModel(combo);
|
||||
return models.size() == 1 ? models.get(0) : new CompositeBakedModel(models);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,78 @@
|
||||
/*
|
||||
* This file is part of ComputerCraft - http://www.computercraft.info
|
||||
* Copyright Daniel Ratcliffe, 2011-2022. Do not distribute without permission.
|
||||
* Send enquiries to dratcliffe@gmail.com
|
||||
*/
|
||||
package dan200.computercraft.client.model.turtle;
|
||||
|
||||
import com.mojang.datafixers.util.Pair;
|
||||
import dan200.computercraft.api.ComputerCraftAPI;
|
||||
import net.fabricmc.fabric.api.client.model.ModelProviderException;
|
||||
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
|
||||
import net.minecraft.client.resources.model.*;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.server.packs.resources.ResourceManager;
|
||||
import net.minecraft.util.GsonHelper;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.io.IOException;
|
||||
import java.util.*;
|
||||
import java.util.function.Function;
|
||||
|
||||
public final class TurtleModelLoader {
|
||||
private static final ResourceLocation COLOUR_TURTLE_MODEL = new ResourceLocation(ComputerCraftAPI.MOD_ID, "block/turtle_colour");
|
||||
|
||||
private TurtleModelLoader() {
|
||||
}
|
||||
|
||||
public static @Nullable UnbakedModel load(ResourceManager resources, ResourceLocation path) throws ModelProviderException {
|
||||
if (!path.getNamespace().equals(ComputerCraftAPI.MOD_ID)) return null;
|
||||
if (!path.getPath().equals("item/turtle_normal") && !path.getPath().equals("item/turtle_advanced")) {
|
||||
return null;
|
||||
}
|
||||
|
||||
try (var reader = resources.openAsReader(new ResourceLocation(path.getNamespace(), "models/" + path.getPath() + ".json"))) {
|
||||
var modelContents = GsonHelper.parse(reader).getAsJsonObject();
|
||||
|
||||
var loader = GsonHelper.getAsString(modelContents, "loader", null);
|
||||
if (!Objects.equals(loader, ComputerCraftAPI.MOD_ID + ":turtle")) return null;
|
||||
|
||||
var model = new ResourceLocation(GsonHelper.getAsString(modelContents, "model"));
|
||||
return new Unbaked(model);
|
||||
} catch (IOException e) {
|
||||
throw new ModelProviderException("Failed loading model " + path, e);
|
||||
}
|
||||
}
|
||||
|
||||
public static final class Unbaked implements UnbakedModel {
|
||||
private final ResourceLocation model;
|
||||
|
||||
private Unbaked(ResourceLocation model) {
|
||||
this.model = model;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<ResourceLocation> getDependencies() {
|
||||
return List.of(model, COLOUR_TURTLE_MODEL);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<Material> getMaterials(Function<ResourceLocation, UnbakedModel> modelGetter, Set<Pair<String, String>> missingTextureErrors) {
|
||||
Set<Material> materials = new HashSet<>();
|
||||
materials.addAll(modelGetter.apply(model).getMaterials(modelGetter, missingTextureErrors));
|
||||
materials.addAll(modelGetter.apply(COLOUR_TURTLE_MODEL).getMaterials(modelGetter, missingTextureErrors));
|
||||
return materials;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BakedModel bake(ModelBakery bakery, Function<Material, TextureAtlasSprite> spriteGetter, ModelState transform, ResourceLocation location) {
|
||||
var mainModel = bakery.bake(model, transform);
|
||||
if (mainModel == null) throw new NullPointerException(model + " failed to bake");
|
||||
|
||||
var colourModel = bakery.bake(COLOUR_TURTLE_MODEL, transform);
|
||||
if (colourModel == null) throw new NullPointerException(COLOUR_TURTLE_MODEL + " failed to bake");
|
||||
|
||||
return new TurtleModel(mainModel, colourModel);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
/*
|
||||
* This file is part of ComputerCraft - http://www.computercraft.info
|
||||
* Copyright Daniel Ratcliffe, 2011-2022. Do not distribute without permission.
|
||||
* Send enquiries to dratcliffe@gmail.com
|
||||
*/
|
||||
package dan200.computercraft.client.platform;
|
||||
|
||||
import com.google.auto.service.AutoService;
|
||||
import dan200.computercraft.shared.network.client.ClientNetworkContext;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.network.chat.Component;
|
||||
import net.minecraft.sounds.SoundEvent;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
@AutoService(ClientNetworkContext.class)
|
||||
public class ClientNetworkHandlerImpl extends AbstractClientNetworkContext {
|
||||
@Override
|
||||
public void handlePlayRecord(BlockPos pos, @Nullable SoundEvent sound, @Nullable String name) {
|
||||
var mc = Minecraft.getInstance();
|
||||
mc.levelRenderer.playStreamingMusic(sound, pos);
|
||||
if (name != null) mc.gui.setNowPlaying(Component.literal(name));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
/*
|
||||
* This file is part of ComputerCraft - http://www.computercraft.info
|
||||
* Copyright Daniel Ratcliffe, 2011-2022. Do not distribute without permission.
|
||||
* Send enquiries to dratcliffe@gmail.com
|
||||
*/
|
||||
package dan200.computercraft.client.platform;
|
||||
|
||||
import com.google.auto.service.AutoService;
|
||||
import dan200.computercraft.shared.network.NetworkMessage;
|
||||
import dan200.computercraft.shared.network.server.ServerNetworkContext;
|
||||
import dan200.computercraft.shared.platform.NetworkHandler;
|
||||
import net.fabricmc.fabric.api.client.model.BakedModelManagerHelper;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.resources.model.BakedModel;
|
||||
import net.minecraft.client.resources.model.ModelManager;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
|
||||
@AutoService(dan200.computercraft.impl.client.ClientPlatformHelper.class)
|
||||
public class ClientPlatformHelperImpl implements ClientPlatformHelper {
|
||||
@Override
|
||||
public void sendToServer(NetworkMessage<ServerNetworkContext> message) {
|
||||
Minecraft.getInstance().player.connection.send(NetworkHandler.encodeServer(message));
|
||||
}
|
||||
|
||||
@Override
|
||||
public BakedModel getModel(ModelManager manager, ResourceLocation location) {
|
||||
var model = BakedModelManagerHelper.getModel(manager, location);
|
||||
return model == null ? manager.getMissingModel() : model;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
/*
|
||||
* This file is part of ComputerCraft - http://www.computercraft.info
|
||||
* Copyright Daniel Ratcliffe, 2011-2022. Do not distribute without permission.
|
||||
* Send enquiries to dratcliffe@gmail.com
|
||||
*/
|
||||
package dan200.computercraft.mixin.client;
|
||||
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.mojang.blaze3d.vertex.VertexConsumer;
|
||||
import dan200.computercraft.client.ClientHooks;
|
||||
import net.minecraft.client.renderer.block.BlockModelShaper;
|
||||
import net.minecraft.client.renderer.block.BlockRenderDispatcher;
|
||||
import net.minecraft.client.renderer.block.ModelBlockRenderer;
|
||||
import net.minecraft.client.renderer.texture.OverlayTexture;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.util.RandomSource;
|
||||
import net.minecraft.world.level.BlockAndTintGetter;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import org.spongepowered.asm.mixin.Final;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Shadow;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
/**
|
||||
* Provides custom block breaking progress for modems, so it only applies to the current part.
|
||||
*
|
||||
* @see BlockRenderDispatcher#renderBreakingTexture(BlockState, BlockPos, BlockAndTintGetter, PoseStack, VertexConsumer)
|
||||
*/
|
||||
@Mixin(BlockRenderDispatcher.class)
|
||||
class BlockRenderDispatcherMixin {
|
||||
@Shadow
|
||||
@Final
|
||||
private RandomSource random;
|
||||
|
||||
@Shadow
|
||||
@Final
|
||||
private BlockModelShaper blockModelShaper;
|
||||
|
||||
@Shadow
|
||||
@Final
|
||||
private ModelBlockRenderer modelRenderer;
|
||||
|
||||
@Inject(
|
||||
method = "renderBreakingTexture",
|
||||
at = @At("HEAD"),
|
||||
cancellable = true,
|
||||
require = 0 // This isn't critical functionality, so don't worry if we can't apply it.
|
||||
)
|
||||
@SuppressWarnings("UnusedMethod")
|
||||
private void renderBlockDamage(
|
||||
BlockState state, BlockPos pos, BlockAndTintGetter world, PoseStack pose, VertexConsumer buffers,
|
||||
CallbackInfo info
|
||||
) {
|
||||
var newState = ClientHooks.getBlockBreakingState(state, pos);
|
||||
if (newState != null) {
|
||||
info.cancel();
|
||||
|
||||
var model = blockModelShaper.getBlockModel(newState);
|
||||
modelRenderer.tesselateBlock(
|
||||
world, model, newState, pos, pose, buffers, true, random, newState.getSeed(pos),
|
||||
OverlayTexture.NO_OVERLAY
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
/*
|
||||
* This file is part of ComputerCraft - http://www.computercraft.info
|
||||
* Copyright Daniel Ratcliffe, 2011-2022. Do not distribute without permission.
|
||||
* Send enquiries to dratcliffe@gmail.com
|
||||
*/
|
||||
package dan200.computercraft.mixin.client;
|
||||
|
||||
import dan200.computercraft.client.ClientHooks;
|
||||
import net.minecraft.client.gui.components.DebugScreenOverlay;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mixin(DebugScreenOverlay.class)
|
||||
class DebugScreenOverlayMixin {
|
||||
@Inject(method = "getSystemInformation", at = @At("RETURN"))
|
||||
@SuppressWarnings("UnusedMethod")
|
||||
private void appendDebugInfo(CallbackInfoReturnable<List<String>> cir) {
|
||||
ClientHooks.addDebugInfo(cir.getReturnValue()::add);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
/*
|
||||
* This file is part of ComputerCraft - http://www.computercraft.info
|
||||
* Copyright Daniel Ratcliffe, 2011-2022. Do not distribute without permission.
|
||||
* Send enquiries to dratcliffe@gmail.com
|
||||
*/
|
||||
package dan200.computercraft.mixin.client;
|
||||
|
||||
import dan200.computercraft.client.ClientRegistry;
|
||||
import net.minecraft.client.renderer.GameRenderer;
|
||||
import net.minecraft.client.renderer.ShaderInstance;
|
||||
import net.minecraft.server.packs.resources.ResourceManager;
|
||||
import org.spongepowered.asm.mixin.Final;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Shadow;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.UncheckedIOException;
|
||||
import java.util.Map;
|
||||
|
||||
@Mixin(GameRenderer.class)
|
||||
class GameRendererMixin {
|
||||
@Final
|
||||
@Shadow
|
||||
@SuppressWarnings("NullAway")
|
||||
private Map<String, ShaderInstance> shaders;
|
||||
|
||||
@Inject(method = "reloadShaders", at = @At(value = "TAIL"))
|
||||
@SuppressWarnings("UnusedMethod")
|
||||
private void onReloadShaders(ResourceManager resourceManager, CallbackInfo ci) {
|
||||
try {
|
||||
ClientRegistry.registerShaders(resourceManager, (shader, callback) -> {
|
||||
shaders.put(shader.getName(), shader);
|
||||
callback.accept(shader);
|
||||
});
|
||||
} catch (IOException e) {
|
||||
throw new UncheckedIOException("Could not reload shaders", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
/*
|
||||
* This file is part of ComputerCraft - http://www.computercraft.info
|
||||
* Copyright Daniel Ratcliffe, 2011-2022. Do not distribute without permission.
|
||||
* Send enquiries to dratcliffe@gmail.com
|
||||
*/
|
||||
package dan200.computercraft.mixin.client;
|
||||
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import dan200.computercraft.client.ClientHooks;
|
||||
import net.minecraft.client.renderer.MultiBufferSource;
|
||||
import net.minecraft.client.renderer.entity.ItemFrameRenderer;
|
||||
import net.minecraft.world.entity.decoration.ItemFrame;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
@Mixin(ItemFrameRenderer.class)
|
||||
@SuppressWarnings("UnusedMethod")
|
||||
class ItemFrameRendererMixin {
|
||||
@Inject(
|
||||
method = "render(Lnet/minecraft/world/entity/decoration/ItemFrame;FFLcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/MultiBufferSource;I)V",
|
||||
at = @At(value = "INVOKE", target = "Lcom/mojang/blaze3d/vertex/PoseStack;mulPose(Lcom/mojang/math/Quaternion;)V", ordinal = 2, shift = At.Shift.AFTER),
|
||||
cancellable = true
|
||||
)
|
||||
@SuppressWarnings("UnusedMethod")
|
||||
private void render(ItemFrame entity, float yaw, float partialTicks, PoseStack pose, MultiBufferSource buffers, int light, CallbackInfo ci) {
|
||||
if (ClientHooks.onRenderItemFrame(pose, buffers, entity, entity.getItem(), light)) ci.cancel();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
/*
|
||||
* This file is part of ComputerCraft - http://www.computercraft.info
|
||||
* Copyright Daniel Ratcliffe, 2011-2022. Do not distribute without permission.
|
||||
* Send enquiries to dratcliffe@gmail.com
|
||||
*/
|
||||
package dan200.computercraft.mixin.client;
|
||||
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import dan200.computercraft.client.ClientHooks;
|
||||
import net.minecraft.client.player.AbstractClientPlayer;
|
||||
import net.minecraft.client.renderer.ItemInHandRenderer;
|
||||
import net.minecraft.client.renderer.MultiBufferSource;
|
||||
import net.minecraft.world.InteractionHand;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
@Mixin(ItemInHandRenderer.class)
|
||||
class ItemInHandRendererMixin {
|
||||
@Inject(method = "renderArmWithItem", at = @At("HEAD"), cancellable = true)
|
||||
@SuppressWarnings("UnusedMethod")
|
||||
private void onRenderItem(
|
||||
AbstractClientPlayer player, float partialTicks, float pitch, InteractionHand hand, float swingProgress, ItemStack stack,
|
||||
float equippedProgress, PoseStack transform, MultiBufferSource buffer, int combinedLight, CallbackInfo ci
|
||||
) {
|
||||
if (ClientHooks.onRenderHeldItem(transform, buffer, combinedLight, hand, pitch, equippedProgress, swingProgress, stack)) {
|
||||
ci.cancel();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
/*
|
||||
* This file is part of ComputerCraft - http://www.computercraft.info
|
||||
* Copyright Daniel Ratcliffe, 2011-2022. Do not distribute without permission.
|
||||
* Send enquiries to dratcliffe@gmail.com
|
||||
*/
|
||||
package dan200.computercraft.mixin.client;
|
||||
|
||||
import dan200.computercraft.client.ClientHooks;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.screens.Screen;
|
||||
import net.minecraft.client.multiplayer.ClientLevel;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
@Mixin(Minecraft.class)
|
||||
class MinecraftMixin {
|
||||
@Inject(method = "clearLevel(Lnet/minecraft/client/gui/screens/Screen;)V", at = @At("HEAD"))
|
||||
@SuppressWarnings("UnusedMethod")
|
||||
private void clearLevel(Screen screen, CallbackInfo ci) {
|
||||
ClientHooks.onWorldUnload();
|
||||
}
|
||||
|
||||
@Inject(method = "setLevel", at = @At("HEAD"))
|
||||
@SuppressWarnings("UnusedMethod")
|
||||
private void setLevel(ClientLevel screen, CallbackInfo ci) {
|
||||
ClientHooks.onWorldUnload();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
* This file is part of ComputerCraft - http://www.computercraft.info
|
||||
* Copyright Daniel Ratcliffe, 2011-2022. Do not distribute without permission.
|
||||
* Send enquiries to dratcliffe@gmail.com
|
||||
*/
|
||||
package dan200.computercraft.mixin.client;
|
||||
|
||||
import dan200.computercraft.shared.FabricCommonHooks;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.multiplayer.MultiPlayerGameMode;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.world.level.Level;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import org.spongepowered.asm.mixin.Final;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Shadow;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
|
||||
import org.spongepowered.asm.mixin.injection.callback.LocalCapture;
|
||||
|
||||
@Mixin(MultiPlayerGameMode.class)
|
||||
class MultiPlayerGameModeMixin {
|
||||
@Shadow
|
||||
@Final
|
||||
private Minecraft minecraft;
|
||||
|
||||
@Inject(
|
||||
method = "destroyBlock",
|
||||
at = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/Level;setBlock(Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;I)Z"),
|
||||
cancellable = true,
|
||||
locals = LocalCapture.CAPTURE_FAILHARD
|
||||
)
|
||||
@SuppressWarnings("UnusedMethod")
|
||||
private void onBlockBreak(BlockPos pos, CallbackInfoReturnable<Boolean> cir, Level level, BlockState state, Block block) {
|
||||
if (!FabricCommonHooks.onBlockDestroy(level, minecraft.player, pos, state, null)) cir.setReturnValue(true);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
/*
|
||||
* This file is part of ComputerCraft - http://www.computercraft.info
|
||||
* Copyright Daniel Ratcliffe, 2011-2022. Do not distribute without permission.
|
||||
* Send enquiries to dratcliffe@gmail.com
|
||||
*/
|
||||
package dan200.computercraft.mixin.client;
|
||||
|
||||
import com.mojang.blaze3d.audio.Channel;
|
||||
import dan200.computercraft.client.sound.SpeakerManager;
|
||||
import net.minecraft.client.resources.sounds.SoundInstance;
|
||||
import net.minecraft.client.sounds.AudioStream;
|
||||
import net.minecraft.client.sounds.SoundEngine;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Unique;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import static dan200.computercraft.core.util.Nullability.assertNonNull;
|
||||
|
||||
@Mixin(SoundEngine.class)
|
||||
class SoundEngineMixin {
|
||||
@Nullable
|
||||
@Unique
|
||||
private static SoundEngine self;
|
||||
|
||||
@Inject(method = "play", at = @At(value = "HEAD"))
|
||||
@SuppressWarnings("UnusedMethod")
|
||||
private void playSound(SoundInstance sound, CallbackInfo ci) {
|
||||
self = (SoundEngine) (Object) this;
|
||||
}
|
||||
|
||||
@Inject(at = @At("TAIL"), method = "method_19755")
|
||||
@SuppressWarnings("UnusedMethod")
|
||||
private static void onStream(AudioStream stream, Channel channel, CallbackInfo ci) {
|
||||
SpeakerManager.onPlayStreaming(assertNonNull(self), channel, stream);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"required": true,
|
||||
"package": "dan200.computercraft.mixin.client",
|
||||
"minVersion": "0.8",
|
||||
"compatibilityLevel": "JAVA_17",
|
||||
"injectors": {
|
||||
"defaultRequire": 1
|
||||
},
|
||||
"client": [
|
||||
"BlockRenderDispatcherMixin",
|
||||
"DebugScreenOverlayMixin",
|
||||
"GameRendererMixin",
|
||||
"ItemFrameRendererMixin",
|
||||
"ItemInHandRendererMixin",
|
||||
"MinecraftMixin",
|
||||
"MultiPlayerGameModeMixin",
|
||||
"SoundEngineMixin"
|
||||
]
|
||||
}
|
||||
125
projects/fabric/src/generated/resources/assets/computercraft/blockstates/cable.json
generated
Normal file
125
projects/fabric/src/generated/resources/assets/computercraft/blockstates/cable.json
generated
Normal file
@@ -0,0 +1,125 @@
|
||||
{
|
||||
"multipart": [
|
||||
{
|
||||
"apply": {"model": "computercraft:block/cable_core_facing", "x": 90},
|
||||
"when": {
|
||||
"OR": [
|
||||
{"cable": "true", "east": "false", "north": "false", "south": "false", "up": "true", "west": "false"},
|
||||
{"cable": "true", "down": "true", "east": "false", "north": "false", "south": "false", "west": "false"}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {"model": "computercraft:block/cable_core_facing", "y": 0},
|
||||
"when": {
|
||||
"OR": [
|
||||
{
|
||||
"cable": "true",
|
||||
"down": "false",
|
||||
"east": "false",
|
||||
"north": "false",
|
||||
"south": "false",
|
||||
"up": "false",
|
||||
"west": "false"
|
||||
},
|
||||
{"cable": "true", "down": "false", "east": "false", "north": "true", "up": "false", "west": "false"},
|
||||
{"cable": "true", "down": "false", "east": "false", "south": "true", "up": "false", "west": "false"}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {"model": "computercraft:block/cable_core_facing", "y": 90},
|
||||
"when": {
|
||||
"OR": [
|
||||
{"cable": "true", "down": "false", "east": "true", "north": "false", "south": "false", "up": "false"},
|
||||
{"cable": "true", "down": "false", "north": "false", "south": "false", "up": "false", "west": "true"}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {"model": "computercraft:block/cable_core_any"},
|
||||
"when": {
|
||||
"OR": [
|
||||
{"cable": "true", "down": "true", "north": "true"},
|
||||
{"cable": "true", "down": "true", "south": "true"},
|
||||
{"cable": "true", "down": "true", "west": "true"},
|
||||
{"cable": "true", "down": "true", "east": "true"},
|
||||
{"cable": "true", "north": "true", "up": "true"},
|
||||
{"cable": "true", "south": "true", "up": "true"},
|
||||
{"cable": "true", "up": "true", "west": "true"},
|
||||
{"cable": "true", "east": "true", "up": "true"},
|
||||
{"cable": "true", "north": "true", "west": "true"},
|
||||
{"cable": "true", "east": "true", "north": "true"},
|
||||
{"cable": "true", "south": "true", "west": "true"},
|
||||
{"cable": "true", "east": "true", "south": "true"}
|
||||
]
|
||||
}
|
||||
},
|
||||
{"apply": {"model": "computercraft:block/cable_arm", "x": 270, "y": 0}, "when": {"down": "true"}},
|
||||
{"apply": {"model": "computercraft:block/cable_arm", "x": 90, "y": 0}, "when": {"up": "true"}},
|
||||
{"apply": {"model": "computercraft:block/cable_arm", "x": 0, "y": 180}, "when": {"north": "true"}},
|
||||
{"apply": {"model": "computercraft:block/cable_arm", "x": 0, "y": 0}, "when": {"south": "true"}},
|
||||
{"apply": {"model": "computercraft:block/cable_arm", "x": 0, "y": 90}, "when": {"west": "true"}},
|
||||
{"apply": {"model": "computercraft:block/cable_arm", "x": 0, "y": 270}, "when": {"east": "true"}},
|
||||
{"apply": {"model": "computercraft:block/wired_modem_off", "x": 90, "y": 0}, "when": {"modem": "down_off"}},
|
||||
{
|
||||
"apply": {"model": "computercraft:block/wired_modem_off_peripheral", "x": 90, "y": 0},
|
||||
"when": {"modem": "down_off_peripheral"}
|
||||
},
|
||||
{"apply": {"model": "computercraft:block/wired_modem_on", "x": 90, "y": 0}, "when": {"modem": "down_on"}},
|
||||
{
|
||||
"apply": {"model": "computercraft:block/wired_modem_on_peripheral", "x": 90, "y": 0},
|
||||
"when": {"modem": "down_on_peripheral"}
|
||||
},
|
||||
{"apply": {"model": "computercraft:block/wired_modem_off", "x": 270, "y": 0}, "when": {"modem": "up_off"}},
|
||||
{
|
||||
"apply": {"model": "computercraft:block/wired_modem_off_peripheral", "x": 270, "y": 0},
|
||||
"when": {"modem": "up_off_peripheral"}
|
||||
},
|
||||
{"apply": {"model": "computercraft:block/wired_modem_on", "x": 270, "y": 0}, "when": {"modem": "up_on"}},
|
||||
{
|
||||
"apply": {"model": "computercraft:block/wired_modem_on_peripheral", "x": 270, "y": 0},
|
||||
"when": {"modem": "up_on_peripheral"}
|
||||
},
|
||||
{"apply": {"model": "computercraft:block/wired_modem_off", "x": 0, "y": 0}, "when": {"modem": "north_off"}},
|
||||
{
|
||||
"apply": {"model": "computercraft:block/wired_modem_off_peripheral", "x": 0, "y": 0},
|
||||
"when": {"modem": "north_off_peripheral"}
|
||||
},
|
||||
{"apply": {"model": "computercraft:block/wired_modem_on", "x": 0, "y": 0}, "when": {"modem": "north_on"}},
|
||||
{
|
||||
"apply": {"model": "computercraft:block/wired_modem_on_peripheral", "x": 0, "y": 0},
|
||||
"when": {"modem": "north_on_peripheral"}
|
||||
},
|
||||
{"apply": {"model": "computercraft:block/wired_modem_off", "x": 0, "y": 180}, "when": {"modem": "south_off"}},
|
||||
{
|
||||
"apply": {"model": "computercraft:block/wired_modem_off_peripheral", "x": 0, "y": 180},
|
||||
"when": {"modem": "south_off_peripheral"}
|
||||
},
|
||||
{"apply": {"model": "computercraft:block/wired_modem_on", "x": 0, "y": 180}, "when": {"modem": "south_on"}},
|
||||
{
|
||||
"apply": {"model": "computercraft:block/wired_modem_on_peripheral", "x": 0, "y": 180},
|
||||
"when": {"modem": "south_on_peripheral"}
|
||||
},
|
||||
{"apply": {"model": "computercraft:block/wired_modem_off", "x": 0, "y": 270}, "when": {"modem": "west_off"}},
|
||||
{
|
||||
"apply": {"model": "computercraft:block/wired_modem_off_peripheral", "x": 0, "y": 270},
|
||||
"when": {"modem": "west_off_peripheral"}
|
||||
},
|
||||
{"apply": {"model": "computercraft:block/wired_modem_on", "x": 0, "y": 270}, "when": {"modem": "west_on"}},
|
||||
{
|
||||
"apply": {"model": "computercraft:block/wired_modem_on_peripheral", "x": 0, "y": 270},
|
||||
"when": {"modem": "west_on_peripheral"}
|
||||
},
|
||||
{"apply": {"model": "computercraft:block/wired_modem_off", "x": 0, "y": 90}, "when": {"modem": "east_off"}},
|
||||
{
|
||||
"apply": {"model": "computercraft:block/wired_modem_off_peripheral", "x": 0, "y": 90},
|
||||
"when": {"modem": "east_off_peripheral"}
|
||||
},
|
||||
{"apply": {"model": "computercraft:block/wired_modem_on", "x": 0, "y": 90}, "when": {"modem": "east_on"}},
|
||||
{
|
||||
"apply": {"model": "computercraft:block/wired_modem_on_peripheral", "x": 0, "y": 90},
|
||||
"when": {"modem": "east_on_peripheral"}
|
||||
}
|
||||
]
|
||||
}
|
||||
16
projects/fabric/src/generated/resources/assets/computercraft/blockstates/computer_advanced.json
generated
Normal file
16
projects/fabric/src/generated/resources/assets/computercraft/blockstates/computer_advanced.json
generated
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=east,state=blinking": {"model": "computercraft:block/computer_advanced_blinking", "y": 90},
|
||||
"facing=east,state=off": {"model": "computercraft:block/computer_advanced_off", "y": 90},
|
||||
"facing=east,state=on": {"model": "computercraft:block/computer_advanced_on", "y": 90},
|
||||
"facing=north,state=blinking": {"model": "computercraft:block/computer_advanced_blinking", "y": 0},
|
||||
"facing=north,state=off": {"model": "computercraft:block/computer_advanced_off", "y": 0},
|
||||
"facing=north,state=on": {"model": "computercraft:block/computer_advanced_on", "y": 0},
|
||||
"facing=south,state=blinking": {"model": "computercraft:block/computer_advanced_blinking", "y": 180},
|
||||
"facing=south,state=off": {"model": "computercraft:block/computer_advanced_off", "y": 180},
|
||||
"facing=south,state=on": {"model": "computercraft:block/computer_advanced_on", "y": 180},
|
||||
"facing=west,state=blinking": {"model": "computercraft:block/computer_advanced_blinking", "y": 270},
|
||||
"facing=west,state=off": {"model": "computercraft:block/computer_advanced_off", "y": 270},
|
||||
"facing=west,state=on": {"model": "computercraft:block/computer_advanced_on", "y": 270}
|
||||
}
|
||||
}
|
||||
16
projects/fabric/src/generated/resources/assets/computercraft/blockstates/computer_command.json
generated
Normal file
16
projects/fabric/src/generated/resources/assets/computercraft/blockstates/computer_command.json
generated
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=east,state=blinking": {"model": "computercraft:block/computer_command_blinking", "y": 90},
|
||||
"facing=east,state=off": {"model": "computercraft:block/computer_command_off", "y": 90},
|
||||
"facing=east,state=on": {"model": "computercraft:block/computer_command_on", "y": 90},
|
||||
"facing=north,state=blinking": {"model": "computercraft:block/computer_command_blinking", "y": 0},
|
||||
"facing=north,state=off": {"model": "computercraft:block/computer_command_off", "y": 0},
|
||||
"facing=north,state=on": {"model": "computercraft:block/computer_command_on", "y": 0},
|
||||
"facing=south,state=blinking": {"model": "computercraft:block/computer_command_blinking", "y": 180},
|
||||
"facing=south,state=off": {"model": "computercraft:block/computer_command_off", "y": 180},
|
||||
"facing=south,state=on": {"model": "computercraft:block/computer_command_on", "y": 180},
|
||||
"facing=west,state=blinking": {"model": "computercraft:block/computer_command_blinking", "y": 270},
|
||||
"facing=west,state=off": {"model": "computercraft:block/computer_command_off", "y": 270},
|
||||
"facing=west,state=on": {"model": "computercraft:block/computer_command_on", "y": 270}
|
||||
}
|
||||
}
|
||||
16
projects/fabric/src/generated/resources/assets/computercraft/blockstates/computer_normal.json
generated
Normal file
16
projects/fabric/src/generated/resources/assets/computercraft/blockstates/computer_normal.json
generated
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=east,state=blinking": {"model": "computercraft:block/computer_normal_blinking", "y": 90},
|
||||
"facing=east,state=off": {"model": "computercraft:block/computer_normal_off", "y": 90},
|
||||
"facing=east,state=on": {"model": "computercraft:block/computer_normal_on", "y": 90},
|
||||
"facing=north,state=blinking": {"model": "computercraft:block/computer_normal_blinking", "y": 0},
|
||||
"facing=north,state=off": {"model": "computercraft:block/computer_normal_off", "y": 0},
|
||||
"facing=north,state=on": {"model": "computercraft:block/computer_normal_on", "y": 0},
|
||||
"facing=south,state=blinking": {"model": "computercraft:block/computer_normal_blinking", "y": 180},
|
||||
"facing=south,state=off": {"model": "computercraft:block/computer_normal_off", "y": 180},
|
||||
"facing=south,state=on": {"model": "computercraft:block/computer_normal_on", "y": 180},
|
||||
"facing=west,state=blinking": {"model": "computercraft:block/computer_normal_blinking", "y": 270},
|
||||
"facing=west,state=off": {"model": "computercraft:block/computer_normal_off", "y": 270},
|
||||
"facing=west,state=on": {"model": "computercraft:block/computer_normal_on", "y": 270}
|
||||
}
|
||||
}
|
||||
16
projects/fabric/src/generated/resources/assets/computercraft/blockstates/disk_drive.json
generated
Normal file
16
projects/fabric/src/generated/resources/assets/computercraft/blockstates/disk_drive.json
generated
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=east,state=empty": {"model": "computercraft:block/disk_drive_empty", "y": 90},
|
||||
"facing=east,state=full": {"model": "computercraft:block/disk_drive_full", "y": 90},
|
||||
"facing=east,state=invalid": {"model": "computercraft:block/disk_drive_invalid", "y": 90},
|
||||
"facing=north,state=empty": {"model": "computercraft:block/disk_drive_empty", "y": 0},
|
||||
"facing=north,state=full": {"model": "computercraft:block/disk_drive_full", "y": 0},
|
||||
"facing=north,state=invalid": {"model": "computercraft:block/disk_drive_invalid", "y": 0},
|
||||
"facing=south,state=empty": {"model": "computercraft:block/disk_drive_empty", "y": 180},
|
||||
"facing=south,state=full": {"model": "computercraft:block/disk_drive_full", "y": 180},
|
||||
"facing=south,state=invalid": {"model": "computercraft:block/disk_drive_invalid", "y": 180},
|
||||
"facing=west,state=empty": {"model": "computercraft:block/disk_drive_empty", "y": 270},
|
||||
"facing=west,state=full": {"model": "computercraft:block/disk_drive_full", "y": 270},
|
||||
"facing=west,state=invalid": {"model": "computercraft:block/disk_drive_invalid", "y": 270}
|
||||
}
|
||||
}
|
||||
268
projects/fabric/src/generated/resources/assets/computercraft/blockstates/monitor_advanced.json
generated
Normal file
268
projects/fabric/src/generated/resources/assets/computercraft/blockstates/monitor_advanced.json
generated
Normal file
@@ -0,0 +1,268 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=east,orientation=down,state=d": {"model": "computercraft:block/monitor_advanced_d", "x": 90, "y": 90},
|
||||
"facing=east,orientation=down,state=l": {"model": "computercraft:block/monitor_advanced_l", "x": 90, "y": 90},
|
||||
"facing=east,orientation=down,state=ld": {"model": "computercraft:block/monitor_advanced_ld", "x": 90, "y": 90},
|
||||
"facing=east,orientation=down,state=lr": {"model": "computercraft:block/monitor_advanced_lr", "x": 90, "y": 90},
|
||||
"facing=east,orientation=down,state=lrd": {"model": "computercraft:block/monitor_advanced_lrd", "x": 90, "y": 90},
|
||||
"facing=east,orientation=down,state=lru": {"model": "computercraft:block/monitor_advanced_lru", "x": 90, "y": 90},
|
||||
"facing=east,orientation=down,state=lrud": {
|
||||
"model": "computercraft:block/monitor_advanced_lrud",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=east,orientation=down,state=lu": {"model": "computercraft:block/monitor_advanced_lu", "x": 90, "y": 90},
|
||||
"facing=east,orientation=down,state=lud": {"model": "computercraft:block/monitor_advanced_lud", "x": 90, "y": 90},
|
||||
"facing=east,orientation=down,state=none": {"model": "computercraft:block/monitor_advanced", "x": 90, "y": 90},
|
||||
"facing=east,orientation=down,state=r": {"model": "computercraft:block/monitor_advanced_r", "x": 90, "y": 90},
|
||||
"facing=east,orientation=down,state=rd": {"model": "computercraft:block/monitor_advanced_rd", "x": 90, "y": 90},
|
||||
"facing=east,orientation=down,state=ru": {"model": "computercraft:block/monitor_advanced_ru", "x": 90, "y": 90},
|
||||
"facing=east,orientation=down,state=rud": {"model": "computercraft:block/monitor_advanced_rud", "x": 90, "y": 90},
|
||||
"facing=east,orientation=down,state=u": {"model": "computercraft:block/monitor_advanced_u", "x": 90, "y": 90},
|
||||
"facing=east,orientation=down,state=ud": {"model": "computercraft:block/monitor_advanced_ud", "x": 90, "y": 90},
|
||||
"facing=east,orientation=north,state=d": {"model": "computercraft:block/monitor_advanced_d", "x": 0, "y": 90},
|
||||
"facing=east,orientation=north,state=l": {"model": "computercraft:block/monitor_advanced_l", "x": 0, "y": 90},
|
||||
"facing=east,orientation=north,state=ld": {"model": "computercraft:block/monitor_advanced_ld", "x": 0, "y": 90},
|
||||
"facing=east,orientation=north,state=lr": {"model": "computercraft:block/monitor_advanced_lr", "x": 0, "y": 90},
|
||||
"facing=east,orientation=north,state=lrd": {"model": "computercraft:block/monitor_advanced_lrd", "x": 0, "y": 90},
|
||||
"facing=east,orientation=north,state=lru": {"model": "computercraft:block/monitor_advanced_lru", "x": 0, "y": 90},
|
||||
"facing=east,orientation=north,state=lrud": {
|
||||
"model": "computercraft:block/monitor_advanced_lrud",
|
||||
"x": 0,
|
||||
"y": 90
|
||||
},
|
||||
"facing=east,orientation=north,state=lu": {"model": "computercraft:block/monitor_advanced_lu", "x": 0, "y": 90},
|
||||
"facing=east,orientation=north,state=lud": {"model": "computercraft:block/monitor_advanced_lud", "x": 0, "y": 90},
|
||||
"facing=east,orientation=north,state=none": {"model": "computercraft:block/monitor_advanced", "x": 0, "y": 90},
|
||||
"facing=east,orientation=north,state=r": {"model": "computercraft:block/monitor_advanced_r", "x": 0, "y": 90},
|
||||
"facing=east,orientation=north,state=rd": {"model": "computercraft:block/monitor_advanced_rd", "x": 0, "y": 90},
|
||||
"facing=east,orientation=north,state=ru": {"model": "computercraft:block/monitor_advanced_ru", "x": 0, "y": 90},
|
||||
"facing=east,orientation=north,state=rud": {"model": "computercraft:block/monitor_advanced_rud", "x": 0, "y": 90},
|
||||
"facing=east,orientation=north,state=u": {"model": "computercraft:block/monitor_advanced_u", "x": 0, "y": 90},
|
||||
"facing=east,orientation=north,state=ud": {"model": "computercraft:block/monitor_advanced_ud", "x": 0, "y": 90},
|
||||
"facing=east,orientation=up,state=d": {"model": "computercraft:block/monitor_advanced_d", "x": 270, "y": 90},
|
||||
"facing=east,orientation=up,state=l": {"model": "computercraft:block/monitor_advanced_l", "x": 270, "y": 90},
|
||||
"facing=east,orientation=up,state=ld": {"model": "computercraft:block/monitor_advanced_ld", "x": 270, "y": 90},
|
||||
"facing=east,orientation=up,state=lr": {"model": "computercraft:block/monitor_advanced_lr", "x": 270, "y": 90},
|
||||
"facing=east,orientation=up,state=lrd": {"model": "computercraft:block/monitor_advanced_lrd", "x": 270, "y": 90},
|
||||
"facing=east,orientation=up,state=lru": {"model": "computercraft:block/monitor_advanced_lru", "x": 270, "y": 90},
|
||||
"facing=east,orientation=up,state=lrud": {"model": "computercraft:block/monitor_advanced_lrud", "x": 270, "y": 90},
|
||||
"facing=east,orientation=up,state=lu": {"model": "computercraft:block/monitor_advanced_lu", "x": 270, "y": 90},
|
||||
"facing=east,orientation=up,state=lud": {"model": "computercraft:block/monitor_advanced_lud", "x": 270, "y": 90},
|
||||
"facing=east,orientation=up,state=none": {"model": "computercraft:block/monitor_advanced", "x": 270, "y": 90},
|
||||
"facing=east,orientation=up,state=r": {"model": "computercraft:block/monitor_advanced_r", "x": 270, "y": 90},
|
||||
"facing=east,orientation=up,state=rd": {"model": "computercraft:block/monitor_advanced_rd", "x": 270, "y": 90},
|
||||
"facing=east,orientation=up,state=ru": {"model": "computercraft:block/monitor_advanced_ru", "x": 270, "y": 90},
|
||||
"facing=east,orientation=up,state=rud": {"model": "computercraft:block/monitor_advanced_rud", "x": 270, "y": 90},
|
||||
"facing=east,orientation=up,state=u": {"model": "computercraft:block/monitor_advanced_u", "x": 270, "y": 90},
|
||||
"facing=east,orientation=up,state=ud": {"model": "computercraft:block/monitor_advanced_ud", "x": 270, "y": 90},
|
||||
"facing=north,orientation=down,state=d": {"model": "computercraft:block/monitor_advanced_d", "x": 90, "y": 0},
|
||||
"facing=north,orientation=down,state=l": {"model": "computercraft:block/monitor_advanced_l", "x": 90, "y": 0},
|
||||
"facing=north,orientation=down,state=ld": {"model": "computercraft:block/monitor_advanced_ld", "x": 90, "y": 0},
|
||||
"facing=north,orientation=down,state=lr": {"model": "computercraft:block/monitor_advanced_lr", "x": 90, "y": 0},
|
||||
"facing=north,orientation=down,state=lrd": {"model": "computercraft:block/monitor_advanced_lrd", "x": 90, "y": 0},
|
||||
"facing=north,orientation=down,state=lru": {"model": "computercraft:block/monitor_advanced_lru", "x": 90, "y": 0},
|
||||
"facing=north,orientation=down,state=lrud": {
|
||||
"model": "computercraft:block/monitor_advanced_lrud",
|
||||
"x": 90,
|
||||
"y": 0
|
||||
},
|
||||
"facing=north,orientation=down,state=lu": {"model": "computercraft:block/monitor_advanced_lu", "x": 90, "y": 0},
|
||||
"facing=north,orientation=down,state=lud": {"model": "computercraft:block/monitor_advanced_lud", "x": 90, "y": 0},
|
||||
"facing=north,orientation=down,state=none": {"model": "computercraft:block/monitor_advanced", "x": 90, "y": 0},
|
||||
"facing=north,orientation=down,state=r": {"model": "computercraft:block/monitor_advanced_r", "x": 90, "y": 0},
|
||||
"facing=north,orientation=down,state=rd": {"model": "computercraft:block/monitor_advanced_rd", "x": 90, "y": 0},
|
||||
"facing=north,orientation=down,state=ru": {"model": "computercraft:block/monitor_advanced_ru", "x": 90, "y": 0},
|
||||
"facing=north,orientation=down,state=rud": {"model": "computercraft:block/monitor_advanced_rud", "x": 90, "y": 0},
|
||||
"facing=north,orientation=down,state=u": {"model": "computercraft:block/monitor_advanced_u", "x": 90, "y": 0},
|
||||
"facing=north,orientation=down,state=ud": {"model": "computercraft:block/monitor_advanced_ud", "x": 90, "y": 0},
|
||||
"facing=north,orientation=north,state=d": {"model": "computercraft:block/monitor_advanced_d", "x": 0, "y": 0},
|
||||
"facing=north,orientation=north,state=l": {"model": "computercraft:block/monitor_advanced_l", "x": 0, "y": 0},
|
||||
"facing=north,orientation=north,state=ld": {"model": "computercraft:block/monitor_advanced_ld", "x": 0, "y": 0},
|
||||
"facing=north,orientation=north,state=lr": {"model": "computercraft:block/monitor_advanced_lr", "x": 0, "y": 0},
|
||||
"facing=north,orientation=north,state=lrd": {"model": "computercraft:block/monitor_advanced_lrd", "x": 0, "y": 0},
|
||||
"facing=north,orientation=north,state=lru": {"model": "computercraft:block/monitor_advanced_lru", "x": 0, "y": 0},
|
||||
"facing=north,orientation=north,state=lrud": {
|
||||
"model": "computercraft:block/monitor_advanced_lrud",
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"facing=north,orientation=north,state=lu": {"model": "computercraft:block/monitor_advanced_lu", "x": 0, "y": 0},
|
||||
"facing=north,orientation=north,state=lud": {"model": "computercraft:block/monitor_advanced_lud", "x": 0, "y": 0},
|
||||
"facing=north,orientation=north,state=none": {"model": "computercraft:block/monitor_advanced", "x": 0, "y": 0},
|
||||
"facing=north,orientation=north,state=r": {"model": "computercraft:block/monitor_advanced_r", "x": 0, "y": 0},
|
||||
"facing=north,orientation=north,state=rd": {"model": "computercraft:block/monitor_advanced_rd", "x": 0, "y": 0},
|
||||
"facing=north,orientation=north,state=ru": {"model": "computercraft:block/monitor_advanced_ru", "x": 0, "y": 0},
|
||||
"facing=north,orientation=north,state=rud": {"model": "computercraft:block/monitor_advanced_rud", "x": 0, "y": 0},
|
||||
"facing=north,orientation=north,state=u": {"model": "computercraft:block/monitor_advanced_u", "x": 0, "y": 0},
|
||||
"facing=north,orientation=north,state=ud": {"model": "computercraft:block/monitor_advanced_ud", "x": 0, "y": 0},
|
||||
"facing=north,orientation=up,state=d": {"model": "computercraft:block/monitor_advanced_d", "x": 270, "y": 0},
|
||||
"facing=north,orientation=up,state=l": {"model": "computercraft:block/monitor_advanced_l", "x": 270, "y": 0},
|
||||
"facing=north,orientation=up,state=ld": {"model": "computercraft:block/monitor_advanced_ld", "x": 270, "y": 0},
|
||||
"facing=north,orientation=up,state=lr": {"model": "computercraft:block/monitor_advanced_lr", "x": 270, "y": 0},
|
||||
"facing=north,orientation=up,state=lrd": {"model": "computercraft:block/monitor_advanced_lrd", "x": 270, "y": 0},
|
||||
"facing=north,orientation=up,state=lru": {"model": "computercraft:block/monitor_advanced_lru", "x": 270, "y": 0},
|
||||
"facing=north,orientation=up,state=lrud": {"model": "computercraft:block/monitor_advanced_lrud", "x": 270, "y": 0},
|
||||
"facing=north,orientation=up,state=lu": {"model": "computercraft:block/monitor_advanced_lu", "x": 270, "y": 0},
|
||||
"facing=north,orientation=up,state=lud": {"model": "computercraft:block/monitor_advanced_lud", "x": 270, "y": 0},
|
||||
"facing=north,orientation=up,state=none": {"model": "computercraft:block/monitor_advanced", "x": 270, "y": 0},
|
||||
"facing=north,orientation=up,state=r": {"model": "computercraft:block/monitor_advanced_r", "x": 270, "y": 0},
|
||||
"facing=north,orientation=up,state=rd": {"model": "computercraft:block/monitor_advanced_rd", "x": 270, "y": 0},
|
||||
"facing=north,orientation=up,state=ru": {"model": "computercraft:block/monitor_advanced_ru", "x": 270, "y": 0},
|
||||
"facing=north,orientation=up,state=rud": {"model": "computercraft:block/monitor_advanced_rud", "x": 270, "y": 0},
|
||||
"facing=north,orientation=up,state=u": {"model": "computercraft:block/monitor_advanced_u", "x": 270, "y": 0},
|
||||
"facing=north,orientation=up,state=ud": {"model": "computercraft:block/monitor_advanced_ud", "x": 270, "y": 0},
|
||||
"facing=south,orientation=down,state=d": {"model": "computercraft:block/monitor_advanced_d", "x": 90, "y": 180},
|
||||
"facing=south,orientation=down,state=l": {"model": "computercraft:block/monitor_advanced_l", "x": 90, "y": 180},
|
||||
"facing=south,orientation=down,state=ld": {"model": "computercraft:block/monitor_advanced_ld", "x": 90, "y": 180},
|
||||
"facing=south,orientation=down,state=lr": {"model": "computercraft:block/monitor_advanced_lr", "x": 90, "y": 180},
|
||||
"facing=south,orientation=down,state=lrd": {
|
||||
"model": "computercraft:block/monitor_advanced_lrd",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=south,orientation=down,state=lru": {
|
||||
"model": "computercraft:block/monitor_advanced_lru",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=south,orientation=down,state=lrud": {
|
||||
"model": "computercraft:block/monitor_advanced_lrud",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=south,orientation=down,state=lu": {"model": "computercraft:block/monitor_advanced_lu", "x": 90, "y": 180},
|
||||
"facing=south,orientation=down,state=lud": {
|
||||
"model": "computercraft:block/monitor_advanced_lud",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=south,orientation=down,state=none": {"model": "computercraft:block/monitor_advanced", "x": 90, "y": 180},
|
||||
"facing=south,orientation=down,state=r": {"model": "computercraft:block/monitor_advanced_r", "x": 90, "y": 180},
|
||||
"facing=south,orientation=down,state=rd": {"model": "computercraft:block/monitor_advanced_rd", "x": 90, "y": 180},
|
||||
"facing=south,orientation=down,state=ru": {"model": "computercraft:block/monitor_advanced_ru", "x": 90, "y": 180},
|
||||
"facing=south,orientation=down,state=rud": {
|
||||
"model": "computercraft:block/monitor_advanced_rud",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=south,orientation=down,state=u": {"model": "computercraft:block/monitor_advanced_u", "x": 90, "y": 180},
|
||||
"facing=south,orientation=down,state=ud": {"model": "computercraft:block/monitor_advanced_ud", "x": 90, "y": 180},
|
||||
"facing=south,orientation=north,state=d": {"model": "computercraft:block/monitor_advanced_d", "x": 0, "y": 180},
|
||||
"facing=south,orientation=north,state=l": {"model": "computercraft:block/monitor_advanced_l", "x": 0, "y": 180},
|
||||
"facing=south,orientation=north,state=ld": {"model": "computercraft:block/monitor_advanced_ld", "x": 0, "y": 180},
|
||||
"facing=south,orientation=north,state=lr": {"model": "computercraft:block/monitor_advanced_lr", "x": 0, "y": 180},
|
||||
"facing=south,orientation=north,state=lrd": {
|
||||
"model": "computercraft:block/monitor_advanced_lrd",
|
||||
"x": 0,
|
||||
"y": 180
|
||||
},
|
||||
"facing=south,orientation=north,state=lru": {
|
||||
"model": "computercraft:block/monitor_advanced_lru",
|
||||
"x": 0,
|
||||
"y": 180
|
||||
},
|
||||
"facing=south,orientation=north,state=lrud": {
|
||||
"model": "computercraft:block/monitor_advanced_lrud",
|
||||
"x": 0,
|
||||
"y": 180
|
||||
},
|
||||
"facing=south,orientation=north,state=lu": {"model": "computercraft:block/monitor_advanced_lu", "x": 0, "y": 180},
|
||||
"facing=south,orientation=north,state=lud": {
|
||||
"model": "computercraft:block/monitor_advanced_lud",
|
||||
"x": 0,
|
||||
"y": 180
|
||||
},
|
||||
"facing=south,orientation=north,state=none": {"model": "computercraft:block/monitor_advanced", "x": 0, "y": 180},
|
||||
"facing=south,orientation=north,state=r": {"model": "computercraft:block/monitor_advanced_r", "x": 0, "y": 180},
|
||||
"facing=south,orientation=north,state=rd": {"model": "computercraft:block/monitor_advanced_rd", "x": 0, "y": 180},
|
||||
"facing=south,orientation=north,state=ru": {"model": "computercraft:block/monitor_advanced_ru", "x": 0, "y": 180},
|
||||
"facing=south,orientation=north,state=rud": {
|
||||
"model": "computercraft:block/monitor_advanced_rud",
|
||||
"x": 0,
|
||||
"y": 180
|
||||
},
|
||||
"facing=south,orientation=north,state=u": {"model": "computercraft:block/monitor_advanced_u", "x": 0, "y": 180},
|
||||
"facing=south,orientation=north,state=ud": {"model": "computercraft:block/monitor_advanced_ud", "x": 0, "y": 180},
|
||||
"facing=south,orientation=up,state=d": {"model": "computercraft:block/monitor_advanced_d", "x": 270, "y": 180},
|
||||
"facing=south,orientation=up,state=l": {"model": "computercraft:block/monitor_advanced_l", "x": 270, "y": 180},
|
||||
"facing=south,orientation=up,state=ld": {"model": "computercraft:block/monitor_advanced_ld", "x": 270, "y": 180},
|
||||
"facing=south,orientation=up,state=lr": {"model": "computercraft:block/monitor_advanced_lr", "x": 270, "y": 180},
|
||||
"facing=south,orientation=up,state=lrd": {"model": "computercraft:block/monitor_advanced_lrd", "x": 270, "y": 180},
|
||||
"facing=south,orientation=up,state=lru": {"model": "computercraft:block/monitor_advanced_lru", "x": 270, "y": 180},
|
||||
"facing=south,orientation=up,state=lrud": {
|
||||
"model": "computercraft:block/monitor_advanced_lrud",
|
||||
"x": 270,
|
||||
"y": 180
|
||||
},
|
||||
"facing=south,orientation=up,state=lu": {"model": "computercraft:block/monitor_advanced_lu", "x": 270, "y": 180},
|
||||
"facing=south,orientation=up,state=lud": {"model": "computercraft:block/monitor_advanced_lud", "x": 270, "y": 180},
|
||||
"facing=south,orientation=up,state=none": {"model": "computercraft:block/monitor_advanced", "x": 270, "y": 180},
|
||||
"facing=south,orientation=up,state=r": {"model": "computercraft:block/monitor_advanced_r", "x": 270, "y": 180},
|
||||
"facing=south,orientation=up,state=rd": {"model": "computercraft:block/monitor_advanced_rd", "x": 270, "y": 180},
|
||||
"facing=south,orientation=up,state=ru": {"model": "computercraft:block/monitor_advanced_ru", "x": 270, "y": 180},
|
||||
"facing=south,orientation=up,state=rud": {"model": "computercraft:block/monitor_advanced_rud", "x": 270, "y": 180},
|
||||
"facing=south,orientation=up,state=u": {"model": "computercraft:block/monitor_advanced_u", "x": 270, "y": 180},
|
||||
"facing=south,orientation=up,state=ud": {"model": "computercraft:block/monitor_advanced_ud", "x": 270, "y": 180},
|
||||
"facing=west,orientation=down,state=d": {"model": "computercraft:block/monitor_advanced_d", "x": 90, "y": 270},
|
||||
"facing=west,orientation=down,state=l": {"model": "computercraft:block/monitor_advanced_l", "x": 90, "y": 270},
|
||||
"facing=west,orientation=down,state=ld": {"model": "computercraft:block/monitor_advanced_ld", "x": 90, "y": 270},
|
||||
"facing=west,orientation=down,state=lr": {"model": "computercraft:block/monitor_advanced_lr", "x": 90, "y": 270},
|
||||
"facing=west,orientation=down,state=lrd": {"model": "computercraft:block/monitor_advanced_lrd", "x": 90, "y": 270},
|
||||
"facing=west,orientation=down,state=lru": {"model": "computercraft:block/monitor_advanced_lru", "x": 90, "y": 270},
|
||||
"facing=west,orientation=down,state=lrud": {
|
||||
"model": "computercraft:block/monitor_advanced_lrud",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=west,orientation=down,state=lu": {"model": "computercraft:block/monitor_advanced_lu", "x": 90, "y": 270},
|
||||
"facing=west,orientation=down,state=lud": {"model": "computercraft:block/monitor_advanced_lud", "x": 90, "y": 270},
|
||||
"facing=west,orientation=down,state=none": {"model": "computercraft:block/monitor_advanced", "x": 90, "y": 270},
|
||||
"facing=west,orientation=down,state=r": {"model": "computercraft:block/monitor_advanced_r", "x": 90, "y": 270},
|
||||
"facing=west,orientation=down,state=rd": {"model": "computercraft:block/monitor_advanced_rd", "x": 90, "y": 270},
|
||||
"facing=west,orientation=down,state=ru": {"model": "computercraft:block/monitor_advanced_ru", "x": 90, "y": 270},
|
||||
"facing=west,orientation=down,state=rud": {"model": "computercraft:block/monitor_advanced_rud", "x": 90, "y": 270},
|
||||
"facing=west,orientation=down,state=u": {"model": "computercraft:block/monitor_advanced_u", "x": 90, "y": 270},
|
||||
"facing=west,orientation=down,state=ud": {"model": "computercraft:block/monitor_advanced_ud", "x": 90, "y": 270},
|
||||
"facing=west,orientation=north,state=d": {"model": "computercraft:block/monitor_advanced_d", "x": 0, "y": 270},
|
||||
"facing=west,orientation=north,state=l": {"model": "computercraft:block/monitor_advanced_l", "x": 0, "y": 270},
|
||||
"facing=west,orientation=north,state=ld": {"model": "computercraft:block/monitor_advanced_ld", "x": 0, "y": 270},
|
||||
"facing=west,orientation=north,state=lr": {"model": "computercraft:block/monitor_advanced_lr", "x": 0, "y": 270},
|
||||
"facing=west,orientation=north,state=lrd": {"model": "computercraft:block/monitor_advanced_lrd", "x": 0, "y": 270},
|
||||
"facing=west,orientation=north,state=lru": {"model": "computercraft:block/monitor_advanced_lru", "x": 0, "y": 270},
|
||||
"facing=west,orientation=north,state=lrud": {
|
||||
"model": "computercraft:block/monitor_advanced_lrud",
|
||||
"x": 0,
|
||||
"y": 270
|
||||
},
|
||||
"facing=west,orientation=north,state=lu": {"model": "computercraft:block/monitor_advanced_lu", "x": 0, "y": 270},
|
||||
"facing=west,orientation=north,state=lud": {"model": "computercraft:block/monitor_advanced_lud", "x": 0, "y": 270},
|
||||
"facing=west,orientation=north,state=none": {"model": "computercraft:block/monitor_advanced", "x": 0, "y": 270},
|
||||
"facing=west,orientation=north,state=r": {"model": "computercraft:block/monitor_advanced_r", "x": 0, "y": 270},
|
||||
"facing=west,orientation=north,state=rd": {"model": "computercraft:block/monitor_advanced_rd", "x": 0, "y": 270},
|
||||
"facing=west,orientation=north,state=ru": {"model": "computercraft:block/monitor_advanced_ru", "x": 0, "y": 270},
|
||||
"facing=west,orientation=north,state=rud": {"model": "computercraft:block/monitor_advanced_rud", "x": 0, "y": 270},
|
||||
"facing=west,orientation=north,state=u": {"model": "computercraft:block/monitor_advanced_u", "x": 0, "y": 270},
|
||||
"facing=west,orientation=north,state=ud": {"model": "computercraft:block/monitor_advanced_ud", "x": 0, "y": 270},
|
||||
"facing=west,orientation=up,state=d": {"model": "computercraft:block/monitor_advanced_d", "x": 270, "y": 270},
|
||||
"facing=west,orientation=up,state=l": {"model": "computercraft:block/monitor_advanced_l", "x": 270, "y": 270},
|
||||
"facing=west,orientation=up,state=ld": {"model": "computercraft:block/monitor_advanced_ld", "x": 270, "y": 270},
|
||||
"facing=west,orientation=up,state=lr": {"model": "computercraft:block/monitor_advanced_lr", "x": 270, "y": 270},
|
||||
"facing=west,orientation=up,state=lrd": {"model": "computercraft:block/monitor_advanced_lrd", "x": 270, "y": 270},
|
||||
"facing=west,orientation=up,state=lru": {"model": "computercraft:block/monitor_advanced_lru", "x": 270, "y": 270},
|
||||
"facing=west,orientation=up,state=lrud": {
|
||||
"model": "computercraft:block/monitor_advanced_lrud",
|
||||
"x": 270,
|
||||
"y": 270
|
||||
},
|
||||
"facing=west,orientation=up,state=lu": {"model": "computercraft:block/monitor_advanced_lu", "x": 270, "y": 270},
|
||||
"facing=west,orientation=up,state=lud": {"model": "computercraft:block/monitor_advanced_lud", "x": 270, "y": 270},
|
||||
"facing=west,orientation=up,state=none": {"model": "computercraft:block/monitor_advanced", "x": 270, "y": 270},
|
||||
"facing=west,orientation=up,state=r": {"model": "computercraft:block/monitor_advanced_r", "x": 270, "y": 270},
|
||||
"facing=west,orientation=up,state=rd": {"model": "computercraft:block/monitor_advanced_rd", "x": 270, "y": 270},
|
||||
"facing=west,orientation=up,state=ru": {"model": "computercraft:block/monitor_advanced_ru", "x": 270, "y": 270},
|
||||
"facing=west,orientation=up,state=rud": {"model": "computercraft:block/monitor_advanced_rud", "x": 270, "y": 270},
|
||||
"facing=west,orientation=up,state=u": {"model": "computercraft:block/monitor_advanced_u", "x": 270, "y": 270},
|
||||
"facing=west,orientation=up,state=ud": {"model": "computercraft:block/monitor_advanced_ud", "x": 270, "y": 270}
|
||||
}
|
||||
}
|
||||
204
projects/fabric/src/generated/resources/assets/computercraft/blockstates/monitor_normal.json
generated
Normal file
204
projects/fabric/src/generated/resources/assets/computercraft/blockstates/monitor_normal.json
generated
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=east,orientation=down,state=d": {"model": "computercraft:block/monitor_normal_d", "x": 90, "y": 90},
|
||||
"facing=east,orientation=down,state=l": {"model": "computercraft:block/monitor_normal_l", "x": 90, "y": 90},
|
||||
"facing=east,orientation=down,state=ld": {"model": "computercraft:block/monitor_normal_ld", "x": 90, "y": 90},
|
||||
"facing=east,orientation=down,state=lr": {"model": "computercraft:block/monitor_normal_lr", "x": 90, "y": 90},
|
||||
"facing=east,orientation=down,state=lrd": {"model": "computercraft:block/monitor_normal_lrd", "x": 90, "y": 90},
|
||||
"facing=east,orientation=down,state=lru": {"model": "computercraft:block/monitor_normal_lru", "x": 90, "y": 90},
|
||||
"facing=east,orientation=down,state=lrud": {"model": "computercraft:block/monitor_normal_lrud", "x": 90, "y": 90},
|
||||
"facing=east,orientation=down,state=lu": {"model": "computercraft:block/monitor_normal_lu", "x": 90, "y": 90},
|
||||
"facing=east,orientation=down,state=lud": {"model": "computercraft:block/monitor_normal_lud", "x": 90, "y": 90},
|
||||
"facing=east,orientation=down,state=none": {"model": "computercraft:block/monitor_normal", "x": 90, "y": 90},
|
||||
"facing=east,orientation=down,state=r": {"model": "computercraft:block/monitor_normal_r", "x": 90, "y": 90},
|
||||
"facing=east,orientation=down,state=rd": {"model": "computercraft:block/monitor_normal_rd", "x": 90, "y": 90},
|
||||
"facing=east,orientation=down,state=ru": {"model": "computercraft:block/monitor_normal_ru", "x": 90, "y": 90},
|
||||
"facing=east,orientation=down,state=rud": {"model": "computercraft:block/monitor_normal_rud", "x": 90, "y": 90},
|
||||
"facing=east,orientation=down,state=u": {"model": "computercraft:block/monitor_normal_u", "x": 90, "y": 90},
|
||||
"facing=east,orientation=down,state=ud": {"model": "computercraft:block/monitor_normal_ud", "x": 90, "y": 90},
|
||||
"facing=east,orientation=north,state=d": {"model": "computercraft:block/monitor_normal_d", "x": 0, "y": 90},
|
||||
"facing=east,orientation=north,state=l": {"model": "computercraft:block/monitor_normal_l", "x": 0, "y": 90},
|
||||
"facing=east,orientation=north,state=ld": {"model": "computercraft:block/monitor_normal_ld", "x": 0, "y": 90},
|
||||
"facing=east,orientation=north,state=lr": {"model": "computercraft:block/monitor_normal_lr", "x": 0, "y": 90},
|
||||
"facing=east,orientation=north,state=lrd": {"model": "computercraft:block/monitor_normal_lrd", "x": 0, "y": 90},
|
||||
"facing=east,orientation=north,state=lru": {"model": "computercraft:block/monitor_normal_lru", "x": 0, "y": 90},
|
||||
"facing=east,orientation=north,state=lrud": {"model": "computercraft:block/monitor_normal_lrud", "x": 0, "y": 90},
|
||||
"facing=east,orientation=north,state=lu": {"model": "computercraft:block/monitor_normal_lu", "x": 0, "y": 90},
|
||||
"facing=east,orientation=north,state=lud": {"model": "computercraft:block/monitor_normal_lud", "x": 0, "y": 90},
|
||||
"facing=east,orientation=north,state=none": {"model": "computercraft:block/monitor_normal", "x": 0, "y": 90},
|
||||
"facing=east,orientation=north,state=r": {"model": "computercraft:block/monitor_normal_r", "x": 0, "y": 90},
|
||||
"facing=east,orientation=north,state=rd": {"model": "computercraft:block/monitor_normal_rd", "x": 0, "y": 90},
|
||||
"facing=east,orientation=north,state=ru": {"model": "computercraft:block/monitor_normal_ru", "x": 0, "y": 90},
|
||||
"facing=east,orientation=north,state=rud": {"model": "computercraft:block/monitor_normal_rud", "x": 0, "y": 90},
|
||||
"facing=east,orientation=north,state=u": {"model": "computercraft:block/monitor_normal_u", "x": 0, "y": 90},
|
||||
"facing=east,orientation=north,state=ud": {"model": "computercraft:block/monitor_normal_ud", "x": 0, "y": 90},
|
||||
"facing=east,orientation=up,state=d": {"model": "computercraft:block/monitor_normal_d", "x": 270, "y": 90},
|
||||
"facing=east,orientation=up,state=l": {"model": "computercraft:block/monitor_normal_l", "x": 270, "y": 90},
|
||||
"facing=east,orientation=up,state=ld": {"model": "computercraft:block/monitor_normal_ld", "x": 270, "y": 90},
|
||||
"facing=east,orientation=up,state=lr": {"model": "computercraft:block/monitor_normal_lr", "x": 270, "y": 90},
|
||||
"facing=east,orientation=up,state=lrd": {"model": "computercraft:block/monitor_normal_lrd", "x": 270, "y": 90},
|
||||
"facing=east,orientation=up,state=lru": {"model": "computercraft:block/monitor_normal_lru", "x": 270, "y": 90},
|
||||
"facing=east,orientation=up,state=lrud": {"model": "computercraft:block/monitor_normal_lrud", "x": 270, "y": 90},
|
||||
"facing=east,orientation=up,state=lu": {"model": "computercraft:block/monitor_normal_lu", "x": 270, "y": 90},
|
||||
"facing=east,orientation=up,state=lud": {"model": "computercraft:block/monitor_normal_lud", "x": 270, "y": 90},
|
||||
"facing=east,orientation=up,state=none": {"model": "computercraft:block/monitor_normal", "x": 270, "y": 90},
|
||||
"facing=east,orientation=up,state=r": {"model": "computercraft:block/monitor_normal_r", "x": 270, "y": 90},
|
||||
"facing=east,orientation=up,state=rd": {"model": "computercraft:block/monitor_normal_rd", "x": 270, "y": 90},
|
||||
"facing=east,orientation=up,state=ru": {"model": "computercraft:block/monitor_normal_ru", "x": 270, "y": 90},
|
||||
"facing=east,orientation=up,state=rud": {"model": "computercraft:block/monitor_normal_rud", "x": 270, "y": 90},
|
||||
"facing=east,orientation=up,state=u": {"model": "computercraft:block/monitor_normal_u", "x": 270, "y": 90},
|
||||
"facing=east,orientation=up,state=ud": {"model": "computercraft:block/monitor_normal_ud", "x": 270, "y": 90},
|
||||
"facing=north,orientation=down,state=d": {"model": "computercraft:block/monitor_normal_d", "x": 90, "y": 0},
|
||||
"facing=north,orientation=down,state=l": {"model": "computercraft:block/monitor_normal_l", "x": 90, "y": 0},
|
||||
"facing=north,orientation=down,state=ld": {"model": "computercraft:block/monitor_normal_ld", "x": 90, "y": 0},
|
||||
"facing=north,orientation=down,state=lr": {"model": "computercraft:block/monitor_normal_lr", "x": 90, "y": 0},
|
||||
"facing=north,orientation=down,state=lrd": {"model": "computercraft:block/monitor_normal_lrd", "x": 90, "y": 0},
|
||||
"facing=north,orientation=down,state=lru": {"model": "computercraft:block/monitor_normal_lru", "x": 90, "y": 0},
|
||||
"facing=north,orientation=down,state=lrud": {"model": "computercraft:block/monitor_normal_lrud", "x": 90, "y": 0},
|
||||
"facing=north,orientation=down,state=lu": {"model": "computercraft:block/monitor_normal_lu", "x": 90, "y": 0},
|
||||
"facing=north,orientation=down,state=lud": {"model": "computercraft:block/monitor_normal_lud", "x": 90, "y": 0},
|
||||
"facing=north,orientation=down,state=none": {"model": "computercraft:block/monitor_normal", "x": 90, "y": 0},
|
||||
"facing=north,orientation=down,state=r": {"model": "computercraft:block/monitor_normal_r", "x": 90, "y": 0},
|
||||
"facing=north,orientation=down,state=rd": {"model": "computercraft:block/monitor_normal_rd", "x": 90, "y": 0},
|
||||
"facing=north,orientation=down,state=ru": {"model": "computercraft:block/monitor_normal_ru", "x": 90, "y": 0},
|
||||
"facing=north,orientation=down,state=rud": {"model": "computercraft:block/monitor_normal_rud", "x": 90, "y": 0},
|
||||
"facing=north,orientation=down,state=u": {"model": "computercraft:block/monitor_normal_u", "x": 90, "y": 0},
|
||||
"facing=north,orientation=down,state=ud": {"model": "computercraft:block/monitor_normal_ud", "x": 90, "y": 0},
|
||||
"facing=north,orientation=north,state=d": {"model": "computercraft:block/monitor_normal_d", "x": 0, "y": 0},
|
||||
"facing=north,orientation=north,state=l": {"model": "computercraft:block/monitor_normal_l", "x": 0, "y": 0},
|
||||
"facing=north,orientation=north,state=ld": {"model": "computercraft:block/monitor_normal_ld", "x": 0, "y": 0},
|
||||
"facing=north,orientation=north,state=lr": {"model": "computercraft:block/monitor_normal_lr", "x": 0, "y": 0},
|
||||
"facing=north,orientation=north,state=lrd": {"model": "computercraft:block/monitor_normal_lrd", "x": 0, "y": 0},
|
||||
"facing=north,orientation=north,state=lru": {"model": "computercraft:block/monitor_normal_lru", "x": 0, "y": 0},
|
||||
"facing=north,orientation=north,state=lrud": {"model": "computercraft:block/monitor_normal_lrud", "x": 0, "y": 0},
|
||||
"facing=north,orientation=north,state=lu": {"model": "computercraft:block/monitor_normal_lu", "x": 0, "y": 0},
|
||||
"facing=north,orientation=north,state=lud": {"model": "computercraft:block/monitor_normal_lud", "x": 0, "y": 0},
|
||||
"facing=north,orientation=north,state=none": {"model": "computercraft:block/monitor_normal", "x": 0, "y": 0},
|
||||
"facing=north,orientation=north,state=r": {"model": "computercraft:block/monitor_normal_r", "x": 0, "y": 0},
|
||||
"facing=north,orientation=north,state=rd": {"model": "computercraft:block/monitor_normal_rd", "x": 0, "y": 0},
|
||||
"facing=north,orientation=north,state=ru": {"model": "computercraft:block/monitor_normal_ru", "x": 0, "y": 0},
|
||||
"facing=north,orientation=north,state=rud": {"model": "computercraft:block/monitor_normal_rud", "x": 0, "y": 0},
|
||||
"facing=north,orientation=north,state=u": {"model": "computercraft:block/monitor_normal_u", "x": 0, "y": 0},
|
||||
"facing=north,orientation=north,state=ud": {"model": "computercraft:block/monitor_normal_ud", "x": 0, "y": 0},
|
||||
"facing=north,orientation=up,state=d": {"model": "computercraft:block/monitor_normal_d", "x": 270, "y": 0},
|
||||
"facing=north,orientation=up,state=l": {"model": "computercraft:block/monitor_normal_l", "x": 270, "y": 0},
|
||||
"facing=north,orientation=up,state=ld": {"model": "computercraft:block/monitor_normal_ld", "x": 270, "y": 0},
|
||||
"facing=north,orientation=up,state=lr": {"model": "computercraft:block/monitor_normal_lr", "x": 270, "y": 0},
|
||||
"facing=north,orientation=up,state=lrd": {"model": "computercraft:block/monitor_normal_lrd", "x": 270, "y": 0},
|
||||
"facing=north,orientation=up,state=lru": {"model": "computercraft:block/monitor_normal_lru", "x": 270, "y": 0},
|
||||
"facing=north,orientation=up,state=lrud": {"model": "computercraft:block/monitor_normal_lrud", "x": 270, "y": 0},
|
||||
"facing=north,orientation=up,state=lu": {"model": "computercraft:block/monitor_normal_lu", "x": 270, "y": 0},
|
||||
"facing=north,orientation=up,state=lud": {"model": "computercraft:block/monitor_normal_lud", "x": 270, "y": 0},
|
||||
"facing=north,orientation=up,state=none": {"model": "computercraft:block/monitor_normal", "x": 270, "y": 0},
|
||||
"facing=north,orientation=up,state=r": {"model": "computercraft:block/monitor_normal_r", "x": 270, "y": 0},
|
||||
"facing=north,orientation=up,state=rd": {"model": "computercraft:block/monitor_normal_rd", "x": 270, "y": 0},
|
||||
"facing=north,orientation=up,state=ru": {"model": "computercraft:block/monitor_normal_ru", "x": 270, "y": 0},
|
||||
"facing=north,orientation=up,state=rud": {"model": "computercraft:block/monitor_normal_rud", "x": 270, "y": 0},
|
||||
"facing=north,orientation=up,state=u": {"model": "computercraft:block/monitor_normal_u", "x": 270, "y": 0},
|
||||
"facing=north,orientation=up,state=ud": {"model": "computercraft:block/monitor_normal_ud", "x": 270, "y": 0},
|
||||
"facing=south,orientation=down,state=d": {"model": "computercraft:block/monitor_normal_d", "x": 90, "y": 180},
|
||||
"facing=south,orientation=down,state=l": {"model": "computercraft:block/monitor_normal_l", "x": 90, "y": 180},
|
||||
"facing=south,orientation=down,state=ld": {"model": "computercraft:block/monitor_normal_ld", "x": 90, "y": 180},
|
||||
"facing=south,orientation=down,state=lr": {"model": "computercraft:block/monitor_normal_lr", "x": 90, "y": 180},
|
||||
"facing=south,orientation=down,state=lrd": {"model": "computercraft:block/monitor_normal_lrd", "x": 90, "y": 180},
|
||||
"facing=south,orientation=down,state=lru": {"model": "computercraft:block/monitor_normal_lru", "x": 90, "y": 180},
|
||||
"facing=south,orientation=down,state=lrud": {
|
||||
"model": "computercraft:block/monitor_normal_lrud",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=south,orientation=down,state=lu": {"model": "computercraft:block/monitor_normal_lu", "x": 90, "y": 180},
|
||||
"facing=south,orientation=down,state=lud": {"model": "computercraft:block/monitor_normal_lud", "x": 90, "y": 180},
|
||||
"facing=south,orientation=down,state=none": {"model": "computercraft:block/monitor_normal", "x": 90, "y": 180},
|
||||
"facing=south,orientation=down,state=r": {"model": "computercraft:block/monitor_normal_r", "x": 90, "y": 180},
|
||||
"facing=south,orientation=down,state=rd": {"model": "computercraft:block/monitor_normal_rd", "x": 90, "y": 180},
|
||||
"facing=south,orientation=down,state=ru": {"model": "computercraft:block/monitor_normal_ru", "x": 90, "y": 180},
|
||||
"facing=south,orientation=down,state=rud": {"model": "computercraft:block/monitor_normal_rud", "x": 90, "y": 180},
|
||||
"facing=south,orientation=down,state=u": {"model": "computercraft:block/monitor_normal_u", "x": 90, "y": 180},
|
||||
"facing=south,orientation=down,state=ud": {"model": "computercraft:block/monitor_normal_ud", "x": 90, "y": 180},
|
||||
"facing=south,orientation=north,state=d": {"model": "computercraft:block/monitor_normal_d", "x": 0, "y": 180},
|
||||
"facing=south,orientation=north,state=l": {"model": "computercraft:block/monitor_normal_l", "x": 0, "y": 180},
|
||||
"facing=south,orientation=north,state=ld": {"model": "computercraft:block/monitor_normal_ld", "x": 0, "y": 180},
|
||||
"facing=south,orientation=north,state=lr": {"model": "computercraft:block/monitor_normal_lr", "x": 0, "y": 180},
|
||||
"facing=south,orientation=north,state=lrd": {"model": "computercraft:block/monitor_normal_lrd", "x": 0, "y": 180},
|
||||
"facing=south,orientation=north,state=lru": {"model": "computercraft:block/monitor_normal_lru", "x": 0, "y": 180},
|
||||
"facing=south,orientation=north,state=lrud": {
|
||||
"model": "computercraft:block/monitor_normal_lrud",
|
||||
"x": 0,
|
||||
"y": 180
|
||||
},
|
||||
"facing=south,orientation=north,state=lu": {"model": "computercraft:block/monitor_normal_lu", "x": 0, "y": 180},
|
||||
"facing=south,orientation=north,state=lud": {"model": "computercraft:block/monitor_normal_lud", "x": 0, "y": 180},
|
||||
"facing=south,orientation=north,state=none": {"model": "computercraft:block/monitor_normal", "x": 0, "y": 180},
|
||||
"facing=south,orientation=north,state=r": {"model": "computercraft:block/monitor_normal_r", "x": 0, "y": 180},
|
||||
"facing=south,orientation=north,state=rd": {"model": "computercraft:block/monitor_normal_rd", "x": 0, "y": 180},
|
||||
"facing=south,orientation=north,state=ru": {"model": "computercraft:block/monitor_normal_ru", "x": 0, "y": 180},
|
||||
"facing=south,orientation=north,state=rud": {"model": "computercraft:block/monitor_normal_rud", "x": 0, "y": 180},
|
||||
"facing=south,orientation=north,state=u": {"model": "computercraft:block/monitor_normal_u", "x": 0, "y": 180},
|
||||
"facing=south,orientation=north,state=ud": {"model": "computercraft:block/monitor_normal_ud", "x": 0, "y": 180},
|
||||
"facing=south,orientation=up,state=d": {"model": "computercraft:block/monitor_normal_d", "x": 270, "y": 180},
|
||||
"facing=south,orientation=up,state=l": {"model": "computercraft:block/monitor_normal_l", "x": 270, "y": 180},
|
||||
"facing=south,orientation=up,state=ld": {"model": "computercraft:block/monitor_normal_ld", "x": 270, "y": 180},
|
||||
"facing=south,orientation=up,state=lr": {"model": "computercraft:block/monitor_normal_lr", "x": 270, "y": 180},
|
||||
"facing=south,orientation=up,state=lrd": {"model": "computercraft:block/monitor_normal_lrd", "x": 270, "y": 180},
|
||||
"facing=south,orientation=up,state=lru": {"model": "computercraft:block/monitor_normal_lru", "x": 270, "y": 180},
|
||||
"facing=south,orientation=up,state=lrud": {"model": "computercraft:block/monitor_normal_lrud", "x": 270, "y": 180},
|
||||
"facing=south,orientation=up,state=lu": {"model": "computercraft:block/monitor_normal_lu", "x": 270, "y": 180},
|
||||
"facing=south,orientation=up,state=lud": {"model": "computercraft:block/monitor_normal_lud", "x": 270, "y": 180},
|
||||
"facing=south,orientation=up,state=none": {"model": "computercraft:block/monitor_normal", "x": 270, "y": 180},
|
||||
"facing=south,orientation=up,state=r": {"model": "computercraft:block/monitor_normal_r", "x": 270, "y": 180},
|
||||
"facing=south,orientation=up,state=rd": {"model": "computercraft:block/monitor_normal_rd", "x": 270, "y": 180},
|
||||
"facing=south,orientation=up,state=ru": {"model": "computercraft:block/monitor_normal_ru", "x": 270, "y": 180},
|
||||
"facing=south,orientation=up,state=rud": {"model": "computercraft:block/monitor_normal_rud", "x": 270, "y": 180},
|
||||
"facing=south,orientation=up,state=u": {"model": "computercraft:block/monitor_normal_u", "x": 270, "y": 180},
|
||||
"facing=south,orientation=up,state=ud": {"model": "computercraft:block/monitor_normal_ud", "x": 270, "y": 180},
|
||||
"facing=west,orientation=down,state=d": {"model": "computercraft:block/monitor_normal_d", "x": 90, "y": 270},
|
||||
"facing=west,orientation=down,state=l": {"model": "computercraft:block/monitor_normal_l", "x": 90, "y": 270},
|
||||
"facing=west,orientation=down,state=ld": {"model": "computercraft:block/monitor_normal_ld", "x": 90, "y": 270},
|
||||
"facing=west,orientation=down,state=lr": {"model": "computercraft:block/monitor_normal_lr", "x": 90, "y": 270},
|
||||
"facing=west,orientation=down,state=lrd": {"model": "computercraft:block/monitor_normal_lrd", "x": 90, "y": 270},
|
||||
"facing=west,orientation=down,state=lru": {"model": "computercraft:block/monitor_normal_lru", "x": 90, "y": 270},
|
||||
"facing=west,orientation=down,state=lrud": {"model": "computercraft:block/monitor_normal_lrud", "x": 90, "y": 270},
|
||||
"facing=west,orientation=down,state=lu": {"model": "computercraft:block/monitor_normal_lu", "x": 90, "y": 270},
|
||||
"facing=west,orientation=down,state=lud": {"model": "computercraft:block/monitor_normal_lud", "x": 90, "y": 270},
|
||||
"facing=west,orientation=down,state=none": {"model": "computercraft:block/monitor_normal", "x": 90, "y": 270},
|
||||
"facing=west,orientation=down,state=r": {"model": "computercraft:block/monitor_normal_r", "x": 90, "y": 270},
|
||||
"facing=west,orientation=down,state=rd": {"model": "computercraft:block/monitor_normal_rd", "x": 90, "y": 270},
|
||||
"facing=west,orientation=down,state=ru": {"model": "computercraft:block/monitor_normal_ru", "x": 90, "y": 270},
|
||||
"facing=west,orientation=down,state=rud": {"model": "computercraft:block/monitor_normal_rud", "x": 90, "y": 270},
|
||||
"facing=west,orientation=down,state=u": {"model": "computercraft:block/monitor_normal_u", "x": 90, "y": 270},
|
||||
"facing=west,orientation=down,state=ud": {"model": "computercraft:block/monitor_normal_ud", "x": 90, "y": 270},
|
||||
"facing=west,orientation=north,state=d": {"model": "computercraft:block/monitor_normal_d", "x": 0, "y": 270},
|
||||
"facing=west,orientation=north,state=l": {"model": "computercraft:block/monitor_normal_l", "x": 0, "y": 270},
|
||||
"facing=west,orientation=north,state=ld": {"model": "computercraft:block/monitor_normal_ld", "x": 0, "y": 270},
|
||||
"facing=west,orientation=north,state=lr": {"model": "computercraft:block/monitor_normal_lr", "x": 0, "y": 270},
|
||||
"facing=west,orientation=north,state=lrd": {"model": "computercraft:block/monitor_normal_lrd", "x": 0, "y": 270},
|
||||
"facing=west,orientation=north,state=lru": {"model": "computercraft:block/monitor_normal_lru", "x": 0, "y": 270},
|
||||
"facing=west,orientation=north,state=lrud": {"model": "computercraft:block/monitor_normal_lrud", "x": 0, "y": 270},
|
||||
"facing=west,orientation=north,state=lu": {"model": "computercraft:block/monitor_normal_lu", "x": 0, "y": 270},
|
||||
"facing=west,orientation=north,state=lud": {"model": "computercraft:block/monitor_normal_lud", "x": 0, "y": 270},
|
||||
"facing=west,orientation=north,state=none": {"model": "computercraft:block/monitor_normal", "x": 0, "y": 270},
|
||||
"facing=west,orientation=north,state=r": {"model": "computercraft:block/monitor_normal_r", "x": 0, "y": 270},
|
||||
"facing=west,orientation=north,state=rd": {"model": "computercraft:block/monitor_normal_rd", "x": 0, "y": 270},
|
||||
"facing=west,orientation=north,state=ru": {"model": "computercraft:block/monitor_normal_ru", "x": 0, "y": 270},
|
||||
"facing=west,orientation=north,state=rud": {"model": "computercraft:block/monitor_normal_rud", "x": 0, "y": 270},
|
||||
"facing=west,orientation=north,state=u": {"model": "computercraft:block/monitor_normal_u", "x": 0, "y": 270},
|
||||
"facing=west,orientation=north,state=ud": {"model": "computercraft:block/monitor_normal_ud", "x": 0, "y": 270},
|
||||
"facing=west,orientation=up,state=d": {"model": "computercraft:block/monitor_normal_d", "x": 270, "y": 270},
|
||||
"facing=west,orientation=up,state=l": {"model": "computercraft:block/monitor_normal_l", "x": 270, "y": 270},
|
||||
"facing=west,orientation=up,state=ld": {"model": "computercraft:block/monitor_normal_ld", "x": 270, "y": 270},
|
||||
"facing=west,orientation=up,state=lr": {"model": "computercraft:block/monitor_normal_lr", "x": 270, "y": 270},
|
||||
"facing=west,orientation=up,state=lrd": {"model": "computercraft:block/monitor_normal_lrd", "x": 270, "y": 270},
|
||||
"facing=west,orientation=up,state=lru": {"model": "computercraft:block/monitor_normal_lru", "x": 270, "y": 270},
|
||||
"facing=west,orientation=up,state=lrud": {"model": "computercraft:block/monitor_normal_lrud", "x": 270, "y": 270},
|
||||
"facing=west,orientation=up,state=lu": {"model": "computercraft:block/monitor_normal_lu", "x": 270, "y": 270},
|
||||
"facing=west,orientation=up,state=lud": {"model": "computercraft:block/monitor_normal_lud", "x": 270, "y": 270},
|
||||
"facing=west,orientation=up,state=none": {"model": "computercraft:block/monitor_normal", "x": 270, "y": 270},
|
||||
"facing=west,orientation=up,state=r": {"model": "computercraft:block/monitor_normal_r", "x": 270, "y": 270},
|
||||
"facing=west,orientation=up,state=rd": {"model": "computercraft:block/monitor_normal_rd", "x": 270, "y": 270},
|
||||
"facing=west,orientation=up,state=ru": {"model": "computercraft:block/monitor_normal_ru", "x": 270, "y": 270},
|
||||
"facing=west,orientation=up,state=rud": {"model": "computercraft:block/monitor_normal_rud", "x": 270, "y": 270},
|
||||
"facing=west,orientation=up,state=u": {"model": "computercraft:block/monitor_normal_u", "x": 270, "y": 270},
|
||||
"facing=west,orientation=up,state=ud": {"model": "computercraft:block/monitor_normal_ud", "x": 270, "y": 270}
|
||||
}
|
||||
}
|
||||
20
projects/fabric/src/generated/resources/assets/computercraft/blockstates/printer.json
generated
Normal file
20
projects/fabric/src/generated/resources/assets/computercraft/blockstates/printer.json
generated
Normal file
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"variants": {
|
||||
"bottom=false,facing=east,top=false": {"model": "computercraft:block/printer_empty", "y": 90},
|
||||
"bottom=false,facing=east,top=true": {"model": "computercraft:block/printer_top_full", "y": 90},
|
||||
"bottom=false,facing=north,top=false": {"model": "computercraft:block/printer_empty", "y": 0},
|
||||
"bottom=false,facing=north,top=true": {"model": "computercraft:block/printer_top_full", "y": 0},
|
||||
"bottom=false,facing=south,top=false": {"model": "computercraft:block/printer_empty", "y": 180},
|
||||
"bottom=false,facing=south,top=true": {"model": "computercraft:block/printer_top_full", "y": 180},
|
||||
"bottom=false,facing=west,top=false": {"model": "computercraft:block/printer_empty", "y": 270},
|
||||
"bottom=false,facing=west,top=true": {"model": "computercraft:block/printer_top_full", "y": 270},
|
||||
"bottom=true,facing=east,top=false": {"model": "computercraft:block/printer_bottom_full", "y": 90},
|
||||
"bottom=true,facing=east,top=true": {"model": "computercraft:block/printer_both_full", "y": 90},
|
||||
"bottom=true,facing=north,top=false": {"model": "computercraft:block/printer_bottom_full", "y": 0},
|
||||
"bottom=true,facing=north,top=true": {"model": "computercraft:block/printer_both_full", "y": 0},
|
||||
"bottom=true,facing=south,top=false": {"model": "computercraft:block/printer_bottom_full", "y": 180},
|
||||
"bottom=true,facing=south,top=true": {"model": "computercraft:block/printer_both_full", "y": 180},
|
||||
"bottom=true,facing=west,top=false": {"model": "computercraft:block/printer_bottom_full", "y": 270},
|
||||
"bottom=true,facing=west,top=true": {"model": "computercraft:block/printer_both_full", "y": 270}
|
||||
}
|
||||
}
|
||||
8
projects/fabric/src/generated/resources/assets/computercraft/blockstates/speaker.json
generated
Normal file
8
projects/fabric/src/generated/resources/assets/computercraft/blockstates/speaker.json
generated
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=east": {"model": "computercraft:block/speaker", "y": 90},
|
||||
"facing=north": {"model": "computercraft:block/speaker"},
|
||||
"facing=south": {"model": "computercraft:block/speaker", "y": 180},
|
||||
"facing=west": {"model": "computercraft:block/speaker", "y": 270}
|
||||
}
|
||||
}
|
||||
8
projects/fabric/src/generated/resources/assets/computercraft/blockstates/turtle_advanced.json
generated
Normal file
8
projects/fabric/src/generated/resources/assets/computercraft/blockstates/turtle_advanced.json
generated
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=east": {"model": "computercraft:block/turtle_advanced", "y": 90},
|
||||
"facing=north": {"model": "computercraft:block/turtle_advanced", "y": 0},
|
||||
"facing=south": {"model": "computercraft:block/turtle_advanced", "y": 180},
|
||||
"facing=west": {"model": "computercraft:block/turtle_advanced", "y": 270}
|
||||
}
|
||||
}
|
||||
8
projects/fabric/src/generated/resources/assets/computercraft/blockstates/turtle_normal.json
generated
Normal file
8
projects/fabric/src/generated/resources/assets/computercraft/blockstates/turtle_normal.json
generated
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=east": {"model": "computercraft:block/turtle_normal", "y": 90},
|
||||
"facing=north": {"model": "computercraft:block/turtle_normal", "y": 0},
|
||||
"facing=south": {"model": "computercraft:block/turtle_normal", "y": 180},
|
||||
"facing=west": {"model": "computercraft:block/turtle_normal", "y": 270}
|
||||
}
|
||||
}
|
||||
8
projects/fabric/src/generated/resources/assets/computercraft/blockstates/wired_modem_full.json
generated
Normal file
8
projects/fabric/src/generated/resources/assets/computercraft/blockstates/wired_modem_full.json
generated
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"variants": {
|
||||
"modem=false,peripheral=false": {"model": "computercraft:block/wired_modem_full_off"},
|
||||
"modem=false,peripheral=true": {"model": "computercraft:block/wired_modem_full_off_peripheral"},
|
||||
"modem=true,peripheral=false": {"model": "computercraft:block/wired_modem_full_on"},
|
||||
"modem=true,peripheral=true": {"model": "computercraft:block/wired_modem_full_on_peripheral"}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=down,on=false": {"model": "computercraft:block/wireless_modem_advanced_off", "x": 90, "y": 0},
|
||||
"facing=down,on=true": {"model": "computercraft:block/wireless_modem_advanced_on", "x": 90, "y": 0},
|
||||
"facing=east,on=false": {"model": "computercraft:block/wireless_modem_advanced_off", "x": 0, "y": 90},
|
||||
"facing=east,on=true": {"model": "computercraft:block/wireless_modem_advanced_on", "x": 0, "y": 90},
|
||||
"facing=north,on=false": {"model": "computercraft:block/wireless_modem_advanced_off", "x": 0, "y": 0},
|
||||
"facing=north,on=true": {"model": "computercraft:block/wireless_modem_advanced_on", "x": 0, "y": 0},
|
||||
"facing=south,on=false": {"model": "computercraft:block/wireless_modem_advanced_off", "x": 0, "y": 180},
|
||||
"facing=south,on=true": {"model": "computercraft:block/wireless_modem_advanced_on", "x": 0, "y": 180},
|
||||
"facing=up,on=false": {"model": "computercraft:block/wireless_modem_advanced_off", "x": 270, "y": 0},
|
||||
"facing=up,on=true": {"model": "computercraft:block/wireless_modem_advanced_on", "x": 270, "y": 0},
|
||||
"facing=west,on=false": {"model": "computercraft:block/wireless_modem_advanced_off", "x": 0, "y": 270},
|
||||
"facing=west,on=true": {"model": "computercraft:block/wireless_modem_advanced_on", "x": 0, "y": 270}
|
||||
}
|
||||
}
|
||||
16
projects/fabric/src/generated/resources/assets/computercraft/blockstates/wireless_modem_normal.json
generated
Normal file
16
projects/fabric/src/generated/resources/assets/computercraft/blockstates/wireless_modem_normal.json
generated
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=down,on=false": {"model": "computercraft:block/wireless_modem_normal_off", "x": 90, "y": 0},
|
||||
"facing=down,on=true": {"model": "computercraft:block/wireless_modem_normal_on", "x": 90, "y": 0},
|
||||
"facing=east,on=false": {"model": "computercraft:block/wireless_modem_normal_off", "x": 0, "y": 90},
|
||||
"facing=east,on=true": {"model": "computercraft:block/wireless_modem_normal_on", "x": 0, "y": 90},
|
||||
"facing=north,on=false": {"model": "computercraft:block/wireless_modem_normal_off", "x": 0, "y": 0},
|
||||
"facing=north,on=true": {"model": "computercraft:block/wireless_modem_normal_on", "x": 0, "y": 0},
|
||||
"facing=south,on=false": {"model": "computercraft:block/wireless_modem_normal_off", "x": 0, "y": 180},
|
||||
"facing=south,on=true": {"model": "computercraft:block/wireless_modem_normal_on", "x": 0, "y": 180},
|
||||
"facing=up,on=false": {"model": "computercraft:block/wireless_modem_normal_off", "x": 270, "y": 0},
|
||||
"facing=up,on=true": {"model": "computercraft:block/wireless_modem_normal_on", "x": 270, "y": 0},
|
||||
"facing=west,on=false": {"model": "computercraft:block/wireless_modem_normal_off", "x": 0, "y": 270},
|
||||
"facing=west,on=true": {"model": "computercraft:block/wireless_modem_normal_on", "x": 0, "y": 270}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"parent": "minecraft:block/orientable",
|
||||
"textures": {
|
||||
"front": "computercraft:block/computer_advanced_front_blink",
|
||||
"side": "computercraft:block/computer_advanced_side",
|
||||
"top": "computercraft:block/computer_advanced_top"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"parent": "minecraft:block/orientable",
|
||||
"textures": {
|
||||
"front": "computercraft:block/computer_advanced_front",
|
||||
"side": "computercraft:block/computer_advanced_side",
|
||||
"top": "computercraft:block/computer_advanced_top"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"parent": "minecraft:block/orientable",
|
||||
"textures": {
|
||||
"front": "computercraft:block/computer_advanced_front_on",
|
||||
"side": "computercraft:block/computer_advanced_side",
|
||||
"top": "computercraft:block/computer_advanced_top"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"parent": "minecraft:block/orientable",
|
||||
"textures": {
|
||||
"front": "computercraft:block/computer_command_front_blink",
|
||||
"side": "computercraft:block/computer_command_side",
|
||||
"top": "computercraft:block/computer_command_top"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"parent": "minecraft:block/orientable",
|
||||
"textures": {
|
||||
"front": "computercraft:block/computer_command_front",
|
||||
"side": "computercraft:block/computer_command_side",
|
||||
"top": "computercraft:block/computer_command_top"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"parent": "minecraft:block/orientable",
|
||||
"textures": {
|
||||
"front": "computercraft:block/computer_command_front_on",
|
||||
"side": "computercraft:block/computer_command_side",
|
||||
"top": "computercraft:block/computer_command_top"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"parent": "minecraft:block/orientable",
|
||||
"textures": {
|
||||
"front": "computercraft:block/computer_normal_front_blink",
|
||||
"side": "computercraft:block/computer_normal_side",
|
||||
"top": "computercraft:block/computer_normal_top"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"parent": "minecraft:block/orientable",
|
||||
"textures": {
|
||||
"front": "computercraft:block/computer_normal_front",
|
||||
"side": "computercraft:block/computer_normal_side",
|
||||
"top": "computercraft:block/computer_normal_top"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"parent": "minecraft:block/orientable",
|
||||
"textures": {
|
||||
"front": "computercraft:block/computer_normal_front_on",
|
||||
"side": "computercraft:block/computer_normal_side",
|
||||
"top": "computercraft:block/computer_normal_top"
|
||||
}
|
||||
}
|
||||
8
projects/fabric/src/generated/resources/assets/computercraft/models/block/disk_drive_empty.json
generated
Normal file
8
projects/fabric/src/generated/resources/assets/computercraft/models/block/disk_drive_empty.json
generated
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"parent": "minecraft:block/orientable",
|
||||
"textures": {
|
||||
"front": "computercraft:block/disk_drive_front",
|
||||
"side": "computercraft:block/disk_drive_side",
|
||||
"top": "computercraft:block/disk_drive_top"
|
||||
}
|
||||
}
|
||||
8
projects/fabric/src/generated/resources/assets/computercraft/models/block/disk_drive_full.json
generated
Normal file
8
projects/fabric/src/generated/resources/assets/computercraft/models/block/disk_drive_full.json
generated
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"parent": "minecraft:block/orientable",
|
||||
"textures": {
|
||||
"front": "computercraft:block/disk_drive_front_accepted",
|
||||
"side": "computercraft:block/disk_drive_side",
|
||||
"top": "computercraft:block/disk_drive_top"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"parent": "minecraft:block/orientable",
|
||||
"textures": {
|
||||
"front": "computercraft:block/disk_drive_front_rejected",
|
||||
"side": "computercraft:block/disk_drive_side",
|
||||
"top": "computercraft:block/disk_drive_top"
|
||||
}
|
||||
}
|
||||
9
projects/fabric/src/generated/resources/assets/computercraft/models/block/monitor_advanced.json
generated
Normal file
9
projects/fabric/src/generated/resources/assets/computercraft/models/block/monitor_advanced.json
generated
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"back": "computercraft:block/monitor_advanced_32",
|
||||
"front": "computercraft:block/monitor_advanced_16",
|
||||
"side": "computercraft:block/monitor_advanced_4",
|
||||
"top": "computercraft:block/monitor_advanced_0"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"back": "computercraft:block/monitor_advanced_36",
|
||||
"front": "computercraft:block/monitor_advanced_20",
|
||||
"side": "computercraft:block/monitor_advanced_7",
|
||||
"top": "computercraft:block/monitor_advanced_0"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"back": "computercraft:block/monitor_advanced_32",
|
||||
"front": "computercraft:block/monitor_advanced_15",
|
||||
"side": "computercraft:block/monitor_advanced_4",
|
||||
"top": "computercraft:block/monitor_advanced_0"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"back": "computercraft:block/monitor_advanced_33",
|
||||
"front": "computercraft:block/monitor_advanced_19",
|
||||
"side": "computercraft:block/monitor_advanced_4",
|
||||
"top": "computercraft:block/monitor_advanced_1"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"back": "computercraft:block/monitor_advanced_45",
|
||||
"front": "computercraft:block/monitor_advanced_31",
|
||||
"side": "computercraft:block/monitor_advanced_7",
|
||||
"top": "computercraft:block/monitor_advanced_1"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"back": "computercraft:block/monitor_advanced_34",
|
||||
"front": "computercraft:block/monitor_advanced_18",
|
||||
"side": "computercraft:block/monitor_advanced_4",
|
||||
"top": "computercraft:block/monitor_advanced_2"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"back": "computercraft:block/monitor_advanced_46",
|
||||
"front": "computercraft:block/monitor_advanced_30",
|
||||
"side": "computercraft:block/monitor_advanced_7",
|
||||
"top": "computercraft:block/monitor_advanced_2"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"back": "computercraft:block/monitor_advanced_40",
|
||||
"front": "computercraft:block/monitor_advanced_24",
|
||||
"side": "computercraft:block/monitor_advanced_5",
|
||||
"top": "computercraft:block/monitor_advanced_2"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"back": "computercraft:block/monitor_advanced_43",
|
||||
"front": "computercraft:block/monitor_advanced_27",
|
||||
"side": "computercraft:block/monitor_advanced_6",
|
||||
"top": "computercraft:block/monitor_advanced_2"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"back": "computercraft:block/monitor_advanced_39",
|
||||
"front": "computercraft:block/monitor_advanced_25",
|
||||
"side": "computercraft:block/monitor_advanced_5",
|
||||
"top": "computercraft:block/monitor_advanced_1"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"back": "computercraft:block/monitor_advanced_42",
|
||||
"front": "computercraft:block/monitor_advanced_28",
|
||||
"side": "computercraft:block/monitor_advanced_6",
|
||||
"top": "computercraft:block/monitor_advanced_1"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"back": "computercraft:block/monitor_advanced_35",
|
||||
"front": "computercraft:block/monitor_advanced_17",
|
||||
"side": "computercraft:block/monitor_advanced_4",
|
||||
"top": "computercraft:block/monitor_advanced_3"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"back": "computercraft:block/monitor_advanced_47",
|
||||
"front": "computercraft:block/monitor_advanced_29",
|
||||
"side": "computercraft:block/monitor_advanced_7",
|
||||
"top": "computercraft:block/monitor_advanced_3"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"back": "computercraft:block/monitor_advanced_41",
|
||||
"front": "computercraft:block/monitor_advanced_23",
|
||||
"side": "computercraft:block/monitor_advanced_5",
|
||||
"top": "computercraft:block/monitor_advanced_3"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"back": "computercraft:block/monitor_advanced_44",
|
||||
"front": "computercraft:block/monitor_advanced_26",
|
||||
"side": "computercraft:block/monitor_advanced_6",
|
||||
"top": "computercraft:block/monitor_advanced_3"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"back": "computercraft:block/monitor_advanced_38",
|
||||
"front": "computercraft:block/monitor_advanced_22",
|
||||
"side": "computercraft:block/monitor_advanced_5",
|
||||
"top": "computercraft:block/monitor_advanced_0"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"back": "computercraft:block/monitor_advanced_37",
|
||||
"front": "computercraft:block/monitor_advanced_21",
|
||||
"side": "computercraft:block/monitor_advanced_6",
|
||||
"top": "computercraft:block/monitor_advanced_0"
|
||||
}
|
||||
}
|
||||
9
projects/fabric/src/generated/resources/assets/computercraft/models/block/monitor_normal.json
generated
Normal file
9
projects/fabric/src/generated/resources/assets/computercraft/models/block/monitor_normal.json
generated
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"back": "computercraft:block/monitor_normal_32",
|
||||
"front": "computercraft:block/monitor_normal_16",
|
||||
"side": "computercraft:block/monitor_normal_4",
|
||||
"top": "computercraft:block/monitor_normal_0"
|
||||
}
|
||||
}
|
||||
9
projects/fabric/src/generated/resources/assets/computercraft/models/block/monitor_normal_d.json
generated
Normal file
9
projects/fabric/src/generated/resources/assets/computercraft/models/block/monitor_normal_d.json
generated
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"back": "computercraft:block/monitor_normal_36",
|
||||
"front": "computercraft:block/monitor_normal_20",
|
||||
"side": "computercraft:block/monitor_normal_7",
|
||||
"top": "computercraft:block/monitor_normal_0"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"back": "computercraft:block/monitor_normal_32",
|
||||
"front": "computercraft:block/monitor_normal_15",
|
||||
"side": "computercraft:block/monitor_normal_4",
|
||||
"top": "computercraft:block/monitor_normal_0"
|
||||
}
|
||||
}
|
||||
9
projects/fabric/src/generated/resources/assets/computercraft/models/block/monitor_normal_l.json
generated
Normal file
9
projects/fabric/src/generated/resources/assets/computercraft/models/block/monitor_normal_l.json
generated
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"back": "computercraft:block/monitor_normal_33",
|
||||
"front": "computercraft:block/monitor_normal_19",
|
||||
"side": "computercraft:block/monitor_normal_4",
|
||||
"top": "computercraft:block/monitor_normal_1"
|
||||
}
|
||||
}
|
||||
9
projects/fabric/src/generated/resources/assets/computercraft/models/block/monitor_normal_ld.json
generated
Normal file
9
projects/fabric/src/generated/resources/assets/computercraft/models/block/monitor_normal_ld.json
generated
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"back": "computercraft:block/monitor_normal_45",
|
||||
"front": "computercraft:block/monitor_normal_31",
|
||||
"side": "computercraft:block/monitor_normal_7",
|
||||
"top": "computercraft:block/monitor_normal_1"
|
||||
}
|
||||
}
|
||||
9
projects/fabric/src/generated/resources/assets/computercraft/models/block/monitor_normal_lr.json
generated
Normal file
9
projects/fabric/src/generated/resources/assets/computercraft/models/block/monitor_normal_lr.json
generated
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"back": "computercraft:block/monitor_normal_34",
|
||||
"front": "computercraft:block/monitor_normal_18",
|
||||
"side": "computercraft:block/monitor_normal_4",
|
||||
"top": "computercraft:block/monitor_normal_2"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"back": "computercraft:block/monitor_normal_46",
|
||||
"front": "computercraft:block/monitor_normal_30",
|
||||
"side": "computercraft:block/monitor_normal_7",
|
||||
"top": "computercraft:block/monitor_normal_2"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"back": "computercraft:block/monitor_normal_40",
|
||||
"front": "computercraft:block/monitor_normal_24",
|
||||
"side": "computercraft:block/monitor_normal_5",
|
||||
"top": "computercraft:block/monitor_normal_2"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"back": "computercraft:block/monitor_normal_43",
|
||||
"front": "computercraft:block/monitor_normal_27",
|
||||
"side": "computercraft:block/monitor_normal_6",
|
||||
"top": "computercraft:block/monitor_normal_2"
|
||||
}
|
||||
}
|
||||
9
projects/fabric/src/generated/resources/assets/computercraft/models/block/monitor_normal_lu.json
generated
Normal file
9
projects/fabric/src/generated/resources/assets/computercraft/models/block/monitor_normal_lu.json
generated
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"back": "computercraft:block/monitor_normal_39",
|
||||
"front": "computercraft:block/monitor_normal_25",
|
||||
"side": "computercraft:block/monitor_normal_5",
|
||||
"top": "computercraft:block/monitor_normal_1"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"back": "computercraft:block/monitor_normal_42",
|
||||
"front": "computercraft:block/monitor_normal_28",
|
||||
"side": "computercraft:block/monitor_normal_6",
|
||||
"top": "computercraft:block/monitor_normal_1"
|
||||
}
|
||||
}
|
||||
9
projects/fabric/src/generated/resources/assets/computercraft/models/block/monitor_normal_r.json
generated
Normal file
9
projects/fabric/src/generated/resources/assets/computercraft/models/block/monitor_normal_r.json
generated
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"back": "computercraft:block/monitor_normal_35",
|
||||
"front": "computercraft:block/monitor_normal_17",
|
||||
"side": "computercraft:block/monitor_normal_4",
|
||||
"top": "computercraft:block/monitor_normal_3"
|
||||
}
|
||||
}
|
||||
9
projects/fabric/src/generated/resources/assets/computercraft/models/block/monitor_normal_rd.json
generated
Normal file
9
projects/fabric/src/generated/resources/assets/computercraft/models/block/monitor_normal_rd.json
generated
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"back": "computercraft:block/monitor_normal_47",
|
||||
"front": "computercraft:block/monitor_normal_29",
|
||||
"side": "computercraft:block/monitor_normal_7",
|
||||
"top": "computercraft:block/monitor_normal_3"
|
||||
}
|
||||
}
|
||||
9
projects/fabric/src/generated/resources/assets/computercraft/models/block/monitor_normal_ru.json
generated
Normal file
9
projects/fabric/src/generated/resources/assets/computercraft/models/block/monitor_normal_ru.json
generated
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"back": "computercraft:block/monitor_normal_41",
|
||||
"front": "computercraft:block/monitor_normal_23",
|
||||
"side": "computercraft:block/monitor_normal_5",
|
||||
"top": "computercraft:block/monitor_normal_3"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"back": "computercraft:block/monitor_normal_44",
|
||||
"front": "computercraft:block/monitor_normal_26",
|
||||
"side": "computercraft:block/monitor_normal_6",
|
||||
"top": "computercraft:block/monitor_normal_3"
|
||||
}
|
||||
}
|
||||
9
projects/fabric/src/generated/resources/assets/computercraft/models/block/monitor_normal_u.json
generated
Normal file
9
projects/fabric/src/generated/resources/assets/computercraft/models/block/monitor_normal_u.json
generated
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"back": "computercraft:block/monitor_normal_38",
|
||||
"front": "computercraft:block/monitor_normal_22",
|
||||
"side": "computercraft:block/monitor_normal_5",
|
||||
"top": "computercraft:block/monitor_normal_0"
|
||||
}
|
||||
}
|
||||
9
projects/fabric/src/generated/resources/assets/computercraft/models/block/monitor_normal_ud.json
generated
Normal file
9
projects/fabric/src/generated/resources/assets/computercraft/models/block/monitor_normal_ud.json
generated
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"parent": "computercraft:block/monitor_base",
|
||||
"textures": {
|
||||
"back": "computercraft:block/monitor_normal_37",
|
||||
"front": "computercraft:block/monitor_normal_21",
|
||||
"side": "computercraft:block/monitor_normal_6",
|
||||
"top": "computercraft:block/monitor_normal_0"
|
||||
}
|
||||
}
|
||||
8
projects/fabric/src/generated/resources/assets/computercraft/models/block/printer_both_full.json
generated
Normal file
8
projects/fabric/src/generated/resources/assets/computercraft/models/block/printer_both_full.json
generated
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"parent": "minecraft:block/orientable",
|
||||
"textures": {
|
||||
"front": "computercraft:block/printer_front_both_trays",
|
||||
"side": "computercraft:block/printer_side",
|
||||
"top": "computercraft:block/printer_top"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"parent": "minecraft:block/orientable",
|
||||
"textures": {
|
||||
"front": "computercraft:block/printer_front_bottom_tray",
|
||||
"side": "computercraft:block/printer_side",
|
||||
"top": "computercraft:block/printer_top"
|
||||
}
|
||||
}
|
||||
8
projects/fabric/src/generated/resources/assets/computercraft/models/block/printer_empty.json
generated
Normal file
8
projects/fabric/src/generated/resources/assets/computercraft/models/block/printer_empty.json
generated
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"parent": "minecraft:block/orientable",
|
||||
"textures": {
|
||||
"front": "computercraft:block/printer_front_empty",
|
||||
"side": "computercraft:block/printer_side",
|
||||
"top": "computercraft:block/printer_top"
|
||||
}
|
||||
}
|
||||
8
projects/fabric/src/generated/resources/assets/computercraft/models/block/printer_top_full.json
generated
Normal file
8
projects/fabric/src/generated/resources/assets/computercraft/models/block/printer_top_full.json
generated
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"parent": "minecraft:block/orientable",
|
||||
"textures": {
|
||||
"front": "computercraft:block/printer_front_top_tray",
|
||||
"side": "computercraft:block/printer_side",
|
||||
"top": "computercraft:block/printer_top"
|
||||
}
|
||||
}
|
||||
8
projects/fabric/src/generated/resources/assets/computercraft/models/block/speaker.json
generated
Normal file
8
projects/fabric/src/generated/resources/assets/computercraft/models/block/speaker.json
generated
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"parent": "minecraft:block/orientable",
|
||||
"textures": {
|
||||
"front": "computercraft:block/speaker_front",
|
||||
"side": "computercraft:block/speaker_side",
|
||||
"top": "computercraft:block/speaker_top"
|
||||
}
|
||||
}
|
||||
1
projects/fabric/src/generated/resources/assets/computercraft/models/block/turtle_advanced.json
generated
Normal file
1
projects/fabric/src/generated/resources/assets/computercraft/models/block/turtle_advanced.json
generated
Normal file
@@ -0,0 +1 @@
|
||||
{"parent": "computercraft:block/turtle_base", "textures": {"texture": "computercraft:block/turtle_advanced"}}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"parent": "computercraft:block/turtle_upgrade_base_left",
|
||||
"textures": {"texture": "computercraft:block/turtle_crafty_face"}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"parent": "computercraft:block/turtle_upgrade_base_right",
|
||||
"textures": {"texture": "computercraft:block/turtle_crafty_face"}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"parent": "computercraft:block/turtle_upgrade_base_left",
|
||||
"textures": {"texture": "computercraft:block/wireless_modem_advanced_face"}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"parent": "computercraft:block/turtle_upgrade_base_right",
|
||||
"textures": {"texture": "computercraft:block/wireless_modem_advanced_face"}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"parent": "computercraft:block/turtle_upgrade_base_left",
|
||||
"textures": {"texture": "computercraft:block/wireless_modem_advanced_face_on"}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"parent": "computercraft:block/turtle_upgrade_base_right",
|
||||
"textures": {"texture": "computercraft:block/wireless_modem_advanced_face_on"}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"parent": "computercraft:block/turtle_upgrade_base_left",
|
||||
"textures": {"texture": "computercraft:block/wireless_modem_normal_face"}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"parent": "computercraft:block/turtle_upgrade_base_right",
|
||||
"textures": {"texture": "computercraft:block/wireless_modem_normal_face"}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"parent": "computercraft:block/turtle_upgrade_base_left",
|
||||
"textures": {"texture": "computercraft:block/wireless_modem_normal_face_on"}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"parent": "computercraft:block/turtle_upgrade_base_right",
|
||||
"textures": {"texture": "computercraft:block/wireless_modem_normal_face_on"}
|
||||
}
|
||||
1
projects/fabric/src/generated/resources/assets/computercraft/models/block/turtle_normal.json
generated
Normal file
1
projects/fabric/src/generated/resources/assets/computercraft/models/block/turtle_normal.json
generated
Normal file
@@ -0,0 +1 @@
|
||||
{"parent": "computercraft:block/turtle_base", "textures": {"texture": "computercraft:block/turtle_normal"}}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"parent": "computercraft:block/turtle_upgrade_base_left",
|
||||
"textures": {"texture": "computercraft:block/turtle_speaker_face"}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"parent": "computercraft:block/turtle_upgrade_base_right",
|
||||
"textures": {"texture": "computercraft:block/turtle_speaker_face"}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
{"parent": "minecraft:block/cube_all", "textures": {"all": "computercraft:block/wired_modem_face"}}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user