1
0
mirror of https://github.com/SquidDev-CC/CC-Tweaked synced 2025-08-28 00:12:16 +00:00

Merge pull request #75 from ga2mer/1.17-alpha

1.17.1 some fixes
This commit is contained in:
Merith 2021-10-11 14:13:26 -07:00 committed by GitHub
commit 8985ea9560
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
66 changed files with 68 additions and 728 deletions

View File

@ -10,7 +10,7 @@ import net.minecraft.client.sound.AbstractSoundInstance;
import net.minecraft.client.sound.SoundInstance;
import net.minecraft.client.sound.TickableSoundInstance;
import net.minecraft.sound.SoundCategory;
import net.minecraft.sound.SoundEvent;
import net.minecraft.util.Identifier;
import net.minecraft.util.math.Vec3d;
import java.util.HashMap;
@ -21,7 +21,7 @@ public class SoundManager
{
private static final Map<UUID, MoveableSound> sounds = new HashMap<>();
public static void playSound( UUID source, Vec3d position, SoundEvent event, float volume, float pitch )
public static void playSound( UUID source, Vec3d position, Identifier event, float volume, float pitch )
{
var soundManager = MinecraftClient.getInstance().getSoundManager();
@ -54,7 +54,7 @@ public class SoundManager
private static class MoveableSound extends AbstractSoundInstance implements TickableSoundInstance
{
protected MoveableSound( SoundEvent sound, Vec3d position, float volume, float pitch )
protected MoveableSound( Identifier sound, Vec3d position, float volume, float pitch )
{
super( sound, SoundCategory.RECORDS );
setPosition( position );

View File

@ -108,6 +108,12 @@ public abstract class ComputerScreenBase<T extends ContainerComputerBase> extend
return getFocused() != null && getFocused().mouseDragged( x, y, button, deltaX, deltaY ) || super.mouseDragged( x, y, button, deltaX, deltaY );
}
@Override
public boolean mouseReleased( double mouseX, double mouseY, int button )
{
return (getFocused() != null && getFocused().mouseReleased( mouseX, mouseY, button )) || super.mouseReleased( x, y, button );
}
@Override
protected void drawForeground( @Nonnull MatrixStack transform, int mouseX, int mouseY )
{

View File

@ -64,36 +64,23 @@ public final class ModelTransformer
{
for( VertexFormatElement element : format.getElements() ) // For each vertex element
{
if( element.isPosition() &&
element.getDataType() == VertexFormatElement.DataType.FLOAT &&
element.getLength() == 3 ) // When we find a position element
int start = offsetBytes / Integer.BYTES;
if( element.getType() == VertexFormatElement.Type.POSITION && element.getDataType() == VertexFormatElement.DataType.FLOAT ) // When we find a position element
{
for ( int j = 0; j < 4; ++j ) // For each corner of the quad
{
int start = offsetBytes + j * format.getVertexSize();
if ( (start % 4) == 0 )
{
start = start / 4;
Vector4f pos = new Vector4f( Float.intBitsToFloat( vertexData[start] ),
Float.intBitsToFloat( vertexData[start + 1] ),
Float.intBitsToFloat( vertexData[start + 2] ),
1 );
// Extract the position
Vector4f pos = new Vector4f(
Float.intBitsToFloat( vertexData[start] ),
Float.intBitsToFloat( vertexData[start + 1] ),
Float.intBitsToFloat( vertexData[start + 2] ),
1
);
// Transform the position
pos.transform( transform );
// Transform the position
pos.transform( transform );
// Insert the position
vertexData[start] = Float.floatToRawIntBits( pos.getX() );
vertexData[start + 1] = Float.floatToRawIntBits( pos.getY() );
vertexData[start + 2] = Float.floatToRawIntBits( pos.getZ() );
}
}
// Insert the position
vertexData[start] = Float.floatToRawIntBits( pos.getX() );
vertexData[start + 1] = Float.floatToRawIntBits( pos.getY() );
vertexData[start + 2] = Float.floatToRawIntBits( pos.getZ() );
}
offsetBytes += element.getLength();
offsetBytes += element.getByteLength();
}
}
return copy;

View File

@ -22,6 +22,7 @@ import org.spongepowered.asm.mixin.injection.callback.LocalCapture;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;
import java.util.function.BiConsumer;
/**
@ -59,6 +60,7 @@ public class MixinLanguage
@Inject( method = "create", locals = LocalCapture.CAPTURE_FAILSOFT, at = @At( value = "INVOKE", remap = false, target = "Lcom/google/common/collect/ImmutableMap$Builder;build()Lcom/google/common/collect/ImmutableMap;" ) )
private static void create( CallbackInfoReturnable<Language> cir, ImmutableMap.Builder<String, String> builder )
{
final Map<String, String> originalTranslation = builder.build();
/* We must ensure that the keys are de-duplicated because we can't catch the error that might otherwise
* occur when the injected function calls build() on the ImmutableMap builder. So we use our own hash map and
* exclude "minecraft", as the injected function has already loaded those keys at this point.
@ -70,6 +72,9 @@ public class MixinLanguage
loadModLangFile( id, translations::put );
} );
// This is needed to remove keys that exist in vanilla Minecraft (Consistency+ does this)
translations.keySet().removeIf( originalTranslation::containsKey );
builder.putAll( translations );
}
}

View File

@ -11,7 +11,6 @@ import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.fabricmc.fabric.api.network.PacketContext;
import net.minecraft.network.PacketByteBuf;
import net.minecraft.sound.SoundEvent;
import net.minecraft.util.Identifier;
import net.minecraft.util.math.Vec3d;
@ -67,7 +66,6 @@ public class SpeakerPlayClientMessage implements NetworkMessage
@Environment( EnvType.CLIENT )
public void handle( PacketContext context )
{
SoundEvent sound = new SoundEvent( this.sound );
SoundManager.playSound( source, pos, sound, volume, pitch );
}
}

View File

@ -29,8 +29,10 @@ public final class ImpostorRecipe extends ShapedRecipe
{
String group = JsonHelper.getString( json, "group", "" );
ShapedRecipe recipe = RecipeSerializer.SHAPED.read( identifier, json );
ItemStack result = ShapedRecipe.outputFromJson( JsonHelper.getObject( json, "result" ) );
return new ImpostorRecipe( identifier, group, recipe.getWidth(), recipe.getHeight(), recipe.getIngredients(), result );
JsonObject resultObject = JsonHelper.getObject( json, "result" );
ItemStack itemStack = ShapedRecipe.outputFromJson( resultObject );
RecipeUtil.setNbt( itemStack, resultObject );
return new ImpostorRecipe( identifier, group, recipe.getWidth(), recipe.getHeight(), recipe.getIngredients(), itemStack );
}
@Override

View File

@ -41,9 +41,10 @@ public final class ImpostorShapelessRecipe extends ShapelessRecipe
{
throw new JsonParseException( "Too many ingredients for shapeless recipe the max is 9" );
}
ItemStack itemstack = ShapedRecipe.outputFromJson( JsonHelper.getObject( json, "result" ) );
return new ImpostorShapelessRecipe( id, s, itemstack, ingredients );
JsonObject resultObject = JsonHelper.getObject( json, "result" );
ItemStack itemStack = ShapedRecipe.outputFromJson( resultObject );
RecipeUtil.setNbt( itemStack, resultObject );
return new ImpostorShapelessRecipe( id, s, itemStack, ingredients );
}
private DefaultedList<Ingredient> readIngredients( JsonArray arrays )

View File

@ -8,11 +8,11 @@ package dan200.computercraft.shared.util;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonSyntaxException;
import com.google.gson.*;
import com.mojang.brigadier.exceptions.CommandSyntaxException;
import dan200.computercraft.shared.computer.core.ComputerFamily;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.StringNbtReader;
import net.minecraft.recipe.Ingredient;
import net.minecraft.util.JsonHelper;
import net.minecraft.util.collection.DefaultedList;
@ -24,6 +24,7 @@ import java.util.Set;
public final class RecipeUtil
{
private static final Gson GSON = new GsonBuilder().setPrettyPrinting().disableHtmlEscaping().create();
private RecipeUtil() {}
public static ShapedTemplate getTemplate( JsonObject json )
@ -111,6 +112,22 @@ public final class RecipeUtil
throw new JsonSyntaxException( "Unknown computer family '" + familyName + "' for field " + name );
}
public static void setNbt( ItemStack itemStack, JsonObject result )
{
JsonElement nbtElement = result.get( "nbt" );
if ( nbtElement != null )
{
try
{
itemStack.setNbt( StringNbtReader.parse( nbtElement.isJsonObject() ? GSON.toJson( nbtElement ) : JsonHelper.asString( nbtElement, "nbt" ) ) );
}
catch( CommandSyntaxException e )
{
throw new JsonSyntaxException( "Invalid NBT entry: " + e.getMessage() );
}
}
}
public static class ShapedTemplate
{
public final int width;

View File

@ -1,10 +0,0 @@
{
"type": "computercraft:impostor_shapeless",
"group": "computercraft:disk",
"ingredients": [
{ "item": "minecraft:redstone" },
{ "item": "minecraft:paper" },
{ "item": "minecraft:black_dye" }
],
"result": { "item": "computercraft:disk", "nbt": { "color": 1118481 } }
}

View File

@ -1,10 +0,0 @@
{
"type": "computercraft:impostor_shapeless",
"group": "computercraft:disk",
"ingredients": [
{ "item": "minecraft:redstone" },
{ "item": "minecraft:paper" },
{ "item": "minecraft:pink_dye" }
],
"result": { "item": "computercraft:disk", "nbt": { "color": 15905484 } }
}

View File

@ -1,10 +0,0 @@
{
"type": "computercraft:impostor_shapeless",
"group": "computercraft:disk",
"ingredients": [
{ "item": "minecraft:redstone" },
{ "item": "minecraft:paper" },
{ "item": "minecraft:lime_dye" }
],
"result": { "item": "computercraft:disk", "nbt": { "color": 8375321 } }
}

View File

@ -1,10 +0,0 @@
{
"type": "computercraft:impostor_shapeless",
"group": "computercraft:disk",
"ingredients": [
{ "item": "minecraft:redstone" },
{ "item": "minecraft:paper" },
{ "item": "minecraft:yellow_dye" }
],
"result": { "item": "computercraft:disk", "nbt": { "color": 14605932 } }
}

View File

@ -1,10 +0,0 @@
{
"type": "computercraft:impostor_shapeless",
"group": "computercraft:disk",
"ingredients": [
{ "item": "minecraft:redstone" },
{ "item": "minecraft:paper" },
{ "item": "minecraft:light_blue_dye" }
],
"result": { "item": "computercraft:disk", "nbt": { "color": 10072818 } }
}

View File

@ -1,10 +0,0 @@
{
"type": "computercraft:impostor_shapeless",
"group": "computercraft:disk",
"ingredients": [
{ "item": "minecraft:redstone" },
{ "item": "minecraft:paper" },
{ "item": "minecraft:magenta_dye" }
],
"result": { "item": "computercraft:disk", "nbt": { "color": 15040472 } }
}

View File

@ -1,10 +0,0 @@
{
"type": "computercraft:impostor_shapeless",
"group": "computercraft:disk",
"ingredients": [
{ "item": "minecraft:redstone" },
{ "item": "minecraft:paper" },
{ "item": "minecraft:orange_dye" }
],
"result": { "item": "computercraft:disk", "nbt": { "color": 15905331 } }
}

View File

@ -1,10 +0,0 @@
{
"type": "computercraft:impostor_shapeless",
"group": "computercraft:disk",
"ingredients": [
{ "item": "minecraft:redstone" },
{ "item": "minecraft:paper" },
{ "item": "minecraft:white_dye" }
],
"result": { "item": "computercraft:disk", "nbt": { "color": 15790320 } }
}

View File

@ -1,10 +0,0 @@
{
"type": "computercraft:impostor_shapeless",
"group": "computercraft:disk",
"ingredients": [
{ "item": "minecraft:redstone" },
{ "item": "minecraft:paper" },
{ "item": "minecraft:red_dye" }
],
"result": { "item": "computercraft:disk", "nbt": { "color": 13388876 } }
}

View File

@ -1,10 +0,0 @@
{
"type": "computercraft:impostor_shapeless",
"group": "computercraft:disk",
"ingredients": [
{ "item": "minecraft:redstone" },
{ "item": "minecraft:paper" },
{ "item": "minecraft:green_dye" }
],
"result": { "item": "computercraft:disk", "nbt": { "color": 5744206 } }
}

View File

@ -1,10 +0,0 @@
{
"type": "computercraft:impostor_shapeless",
"group": "computercraft:disk",
"ingredients": [
{ "item": "minecraft:redstone" },
{ "item": "minecraft:paper" },
{ "item": "minecraft:brown_dye" }
],
"result": { "item": "computercraft:disk", "nbt": { "color": 8349260 } }
}

View File

@ -1,10 +0,0 @@
{
"type": "computercraft:impostor_shapeless",
"group": "computercraft:disk",
"ingredients": [
{ "item": "minecraft:redstone" },
{ "item": "minecraft:paper" },
{ "item": "minecraft:blue_dye" }
],
"result": { "item": "computercraft:disk", "nbt": { "color": 3368652 } }
}

View File

@ -1,10 +0,0 @@
{
"type": "computercraft:impostor_shapeless",
"group": "computercraft:disk",
"ingredients": [
{ "item": "minecraft:redstone" },
{ "item": "minecraft:paper" },
{ "item": "minecraft:purple_dye" }
],
"result": { "item": "computercraft:disk", "nbt": { "color": 11691749 } }
}

View File

@ -1,10 +0,0 @@
{
"type": "computercraft:impostor_shapeless",
"group": "computercraft:disk",
"ingredients": [
{ "item": "minecraft:redstone" },
{ "item": "minecraft:paper" },
{ "item": "minecraft:cyan_dye" }
],
"result": { "item": "computercraft:disk", "nbt": { "color": 5020082 } }
}

View File

@ -1,10 +0,0 @@
{
"type": "computercraft:impostor_shapeless",
"group": "computercraft:disk",
"ingredients": [
{ "item": "minecraft:redstone" },
{ "item": "minecraft:paper" },
{ "item": "minecraft:light_gray_dye" }
],
"result": { "item": "computercraft:disk", "nbt": { "color": 10066329 } }
}

View File

@ -1,10 +0,0 @@
{
"type": "computercraft:impostor_shapeless",
"group": "computercraft:disk",
"ingredients": [
{ "item": "minecraft:redstone" },
{ "item": "minecraft:paper" },
{ "item": "minecraft:gray_dye" }
],
"result": { "item": "computercraft:disk", "nbt": { "color": 5000268 } }
}

View File

@ -1,13 +0,0 @@
{
"type": "computercraft:impostor_shaped",
"group": "computercraft:upgrade_pocket_advanced",
"pattern": [
"#",
"T"
],
"key": {
"#": { "item": "computercraft:speaker" },
"T": { "item": "computercraft:pocket_computer_advanced" }
},
"result": { "item": "computercraft:pocket_computer_advanced", "nbt": { "Upgrade": "computercraft:speaker" } }
}

View File

@ -1,13 +0,0 @@
{
"type": "computercraft:impostor_shaped",
"group": "computercraft:upgrade_pocket_advanced",
"pattern": [
"#",
"T"
],
"key": {
"#": { "item": "computercraft:wireless_modem_advanced" },
"T": { "item": "computercraft:pocket_computer_advanced" }
},
"result": { "item": "computercraft:pocket_computer_advanced", "nbt": { "Upgrade": "computercraft:wireless_modem_advanced" } }
}

View File

@ -1,13 +0,0 @@
{
"type": "computercraft:impostor_shaped",
"group": "computercraft:upgrade_pocket_advanced",
"pattern": [
"#",
"T"
],
"key": {
"#": { "item": "computercraft:wireless_modem_normal" },
"T": { "item": "computercraft:pocket_computer_advanced" }
},
"result": { "item": "computercraft:pocket_computer_advanced", "nbt": { "Upgrade": "computercraft:wireless_modem_normal" } }
}

View File

@ -1,13 +0,0 @@
{
"type": "computercraft:impostor_shaped",
"group": "computercraft:upgrade_pocket_normal",
"pattern": [
"#",
"T"
],
"key": {
"#": { "item": "computercraft:speaker" },
"T": { "item": "computercraft:pocket_computer_normal" }
},
"result": { "item": "computercraft:pocket_computer_normal", "nbt": { "Upgrade": "computercraft:speaker" } }
}

View File

@ -1,13 +0,0 @@
{
"type": "computercraft:impostor_shaped",
"group": "computercraft:upgrade_pocket_normal",
"pattern": [
"#",
"T"
],
"key": {
"#": { "item": "computercraft:wireless_modem_advanced" },
"T": { "item": "computercraft:pocket_computer_normal" }
},
"result": { "item": "computercraft:pocket_computer_normal", "nbt": { "Upgrade": "computercraft:wireless_modem_advanced" } }
}

View File

@ -1,13 +0,0 @@
{
"type": "computercraft:impostor_shaped",
"group": "computercraft:upgrade_pocket_normal",
"pattern": [
"#",
"T"
],
"key": {
"#": { "item": "computercraft:wireless_modem_normal" },
"T": { "item": "computercraft:pocket_computer_normal" }
},
"result": { "item": "computercraft:pocket_computer_normal", "nbt": { "Upgrade": "computercraft:wireless_modem_normal" } }
}

View File

@ -1,12 +0,0 @@
{
"type": "computercraft:impostor_shaped",
"group": "computercraft:upgrade_turtle_advanced",
"pattern": [
"#T"
],
"key": {
"#": { "item": "computercraft:speaker" },
"T": { "item": "computercraft:turtle_advanced" }
},
"result": { "item": "computercraft:turtle_advanced", "nbt": { "RightUpgrade": "computercraft:speaker" } }
}

View File

@ -1,12 +0,0 @@
{
"type": "computercraft:impostor_shaped",
"group": "computercraft:upgrade_turtle_advanced",
"pattern": [
"#T"
],
"key": {
"#": { "item": "computercraft:wireless_modem_advanced" },
"T": { "item": "computercraft:turtle_advanced" }
},
"result": { "item": "computercraft:turtle_advanced", "nbt": { "RightUpgrade": "computercraft:wireless_modem_advanced" } }
}

View File

@ -1,12 +0,0 @@
{
"type": "computercraft:impostor_shaped",
"group": "computercraft:upgrade_turtle_advanced",
"pattern": [
"#T"
],
"key": {
"#": { "item": "computercraft:wireless_modem_normal" },
"T": { "item": "computercraft:turtle_advanced" }
},
"result": { "item": "computercraft:turtle_advanced", "nbt": { "RightUpgrade": "computercraft:wireless_modem_normal" } }
}

View File

@ -1,12 +0,0 @@
{
"type": "computercraft:impostor_shaped",
"group": "computercraft:upgrade_turtle_advanced",
"pattern": [
"#T"
],
"key": {
"#": { "item": "minecraft:crafting_table" },
"T": { "item": "computercraft:turtle_advanced" }
},
"result": { "item": "computercraft:turtle_advanced", "nbt": { "RightUpgrade": "minecraft:crafting_table" } }
}

View File

@ -1,12 +0,0 @@
{
"type": "computercraft:impostor_shaped",
"group": "computercraft:upgrade_turtle_advanced",
"pattern": [
"#T"
],
"key": {
"#": { "item": "minecraft:diamond_axe" },
"T": { "item": "computercraft:turtle_advanced" }
},
"result": { "item": "computercraft:turtle_advanced", "nbt": { "RightUpgrade": "minecraft:diamond_axe" } }
}

View File

@ -1,12 +0,0 @@
{
"type": "computercraft:impostor_shaped",
"group": "computercraft:upgrade_turtle_advanced",
"pattern": [
"#T"
],
"key": {
"#": { "item": "minecraft:diamond_hoe" },
"T": { "item": "computercraft:turtle_advanced" }
},
"result": { "item": "computercraft:turtle_advanced", "nbt": { "RightUpgrade": "minecraft:diamond_hoe" } }
}

View File

@ -1,12 +0,0 @@
{
"type": "computercraft:impostor_shaped",
"group": "computercraft:upgrade_turtle_advanced",
"pattern": [
"#T"
],
"key": {
"#": { "item": "minecraft:diamond_pickaxe" },
"T": { "item": "computercraft:turtle_advanced" }
},
"result": { "item": "computercraft:turtle_advanced", "nbt": { "RightUpgrade": "minecraft:diamond_pickaxe" } }
}

View File

@ -1,12 +0,0 @@
{
"type": "computercraft:impostor_shaped",
"group": "computercraft:upgrade_turtle_advanced",
"pattern": [
"#T"
],
"key": {
"#": { "item": "minecraft:diamond_shovel" },
"T": { "item": "computercraft:turtle_advanced" }
},
"result": { "item": "computercraft:turtle_advanced", "nbt": { "RightUpgrade": "minecraft:diamond_shovel" } }
}

View File

@ -1,12 +0,0 @@
{
"type": "computercraft:impostor_shaped",
"group": "computercraft:upgrade_turtle_advanced",
"pattern": [
"#T"
],
"key": {
"#": { "item": "minecraft:diamond_sword" },
"T": { "item": "computercraft:turtle_advanced" }
},
"result": { "item": "computercraft:turtle_advanced", "nbt": { "RightUpgrade": "minecraft:diamond_sword" } }
}

View File

@ -1,12 +0,0 @@
{
"type": "computercraft:impostor_shaped",
"group": "computercraft:upgrade_turtle_normal",
"pattern": [
"#T"
],
"key": {
"#": { "item": "computercraft:speaker" },
"T": { "item": "computercraft:turtle_normal" }
},
"result": { "item": "computercraft:turtle_normal", "nbt": { "RightUpgrade": "computercraft:speaker" } }
}

View File

@ -1,12 +0,0 @@
{
"type": "computercraft:impostor_shaped",
"group": "computercraft:upgrade_turtle_normal",
"pattern": [
"#T"
],
"key": {
"#": { "item": "computercraft:wireless_modem_advanced" },
"T": { "item": "computercraft:turtle_normal" }
},
"result": { "item": "computercraft:turtle_normal", "nbt": { "RightUpgrade": "computercraft:wireless_modem_advanced" } }
}

View File

@ -1,12 +0,0 @@
{
"type": "computercraft:impostor_shaped",
"group": "computercraft:upgrade_turtle_normal",
"pattern": [
"#T"
],
"key": {
"#": { "item": "computercraft:wireless_modem_normal" },
"T": { "item": "computercraft:turtle_normal" }
},
"result": { "item": "computercraft:turtle_normal", "nbt": { "RightUpgrade": "computercraft:wireless_modem_normal" } }
}

View File

@ -1,12 +0,0 @@
{
"type": "computercraft:impostor_shaped",
"group": "computercraft:upgrade_turtle_normal",
"pattern": [
"#T"
],
"key": {
"#": { "item": "minecraft:crafting_table" },
"T": { "item": "computercraft:turtle_normal" }
},
"result": { "item": "computercraft:turtle_normal", "nbt": { "RightUpgrade": "minecraft:crafting_table" } }
}

View File

@ -1,12 +0,0 @@
{
"type": "computercraft:impostor_shaped",
"group": "computercraft:upgrade_turtle_normal",
"pattern": [
"#T"
],
"key": {
"#": { "item": "minecraft:diamond_axe" },
"T": { "item": "computercraft:turtle_normal" }
},
"result": { "item": "computercraft:turtle_normal", "nbt": { "RightUpgrade": "minecraft:diamond_axe" } }
}

View File

@ -1,12 +0,0 @@
{
"type": "computercraft:impostor_shaped",
"group": "computercraft:upgrade_turtle_normal",
"pattern": [
"#T"
],
"key": {
"#": { "item": "minecraft:diamond_hoe" },
"T": { "item": "computercraft:turtle_normal" }
},
"result": { "item": "computercraft:turtle_normal", "nbt": { "RightUpgrade": "minecraft:diamond_hoe" } }
}

View File

@ -1,12 +0,0 @@
{
"type": "computercraft:impostor_shaped",
"group": "computercraft:upgrade_turtle_normal",
"pattern": [
"#T"
],
"key": {
"#": { "item": "minecraft:diamond_pickaxe" },
"T": { "item": "computercraft:turtle_normal" }
},
"result": { "item": "computercraft:turtle_normal", "nbt": { "RightUpgrade": "minecraft:diamond_pickaxe" } }
}

View File

@ -1,12 +0,0 @@
{
"type": "computercraft:impostor_shaped",
"group": "computercraft:upgrade_turtle_normal",
"pattern": [
"#T"
],
"key": {
"#": { "item": "minecraft:diamond_shovel" },
"T": { "item": "computercraft:turtle_normal" }
},
"result": { "item": "computercraft:turtle_normal", "nbt": { "RightUpgrade": "minecraft:diamond_shovel" } }
}

View File

@ -1,12 +0,0 @@
{
"type": "computercraft:impostor_shaped",
"group": "computercraft:upgrade_turtle_normal",
"pattern": [
"#T"
],
"key": {
"#": { "item": "minecraft:diamond_sword" },
"T": { "item": "computercraft:turtle_normal" }
},
"result": { "item": "computercraft:turtle_normal", "nbt": { "RightUpgrade": "minecraft:diamond_sword" } }
}

View File

@ -14,6 +14,7 @@
}
},
"result": {
"item": "computercraft:pocket_computer_advanced"
"item": "computercraft:pocket_computer_advanced",
"nbt": "{Upgrade:\"computercraft:speaker\"}"
}
}

View File

@ -14,6 +14,7 @@
}
},
"result": {
"item": "computercraft:pocket_computer_advanced"
"item": "computercraft:pocket_computer_advanced",
"nbt": "{Upgrade:\"computercraft:wireless_modem_advanced\"}"
}
}

View File

@ -14,6 +14,7 @@
}
},
"result": {
"item": "computercraft:pocket_computer_advanced"
"item": "computercraft:pocket_computer_advanced",
"nbt": "{Upgrade:\"computercraft:wireless_modem_normal\"}"
}
}

View File

@ -1,19 +0,0 @@
{
"type": "computercraft:impostor_shaped",
"group": "computercraft:pocket_advanced",
"pattern": [
"#",
"P"
],
"key": {
"#": {
"item": "computercraft:pocket_computer_advanced"
},
"P": {
"item": "minecraft:crafting_table"
}
},
"result": {
"item": "computercraft:pocket_computer_advanced"
}
}

View File

@ -1,19 +0,0 @@
{
"type": "computercraft:impostor_shaped",
"group": "computercraft:pocket_advanced",
"pattern": [
"#",
"P"
],
"key": {
"#": {
"item": "computercraft:pocket_computer_advanced"
},
"P": {
"item": "minecraft:diamond_axe"
}
},
"result": {
"item": "computercraft:pocket_computer_advanced"
}
}

View File

@ -1,19 +0,0 @@
{
"type": "computercraft:impostor_shaped",
"group": "computercraft:pocket_advanced",
"pattern": [
"#",
"P"
],
"key": {
"#": {
"item": "computercraft:pocket_computer_advanced"
},
"P": {
"item": "minecraft:diamond_hoe"
}
},
"result": {
"item": "computercraft:pocket_computer_advanced"
}
}

View File

@ -1,19 +0,0 @@
{
"type": "computercraft:impostor_shaped",
"group": "computercraft:pocket_advanced",
"pattern": [
"#",
"P"
],
"key": {
"#": {
"item": "computercraft:pocket_computer_advanced"
},
"P": {
"item": "minecraft:diamond_pickaxe"
}
},
"result": {
"item": "computercraft:pocket_computer_advanced"
}
}

View File

@ -1,19 +0,0 @@
{
"type": "computercraft:impostor_shaped",
"group": "computercraft:pocket_advanced",
"pattern": [
"#",
"P"
],
"key": {
"#": {
"item": "computercraft:pocket_computer_advanced"
},
"P": {
"item": "minecraft:diamond_shovel"
}
},
"result": {
"item": "computercraft:pocket_computer_advanced"
}
}

View File

@ -1,19 +0,0 @@
{
"type": "computercraft:impostor_shaped",
"group": "computercraft:pocket_advanced",
"pattern": [
"#",
"P"
],
"key": {
"#": {
"item": "computercraft:pocket_computer_advanced"
},
"P": {
"item": "minecraft:diamond_sword"
}
},
"result": {
"item": "computercraft:pocket_computer_advanced"
}
}

View File

@ -14,6 +14,7 @@
}
},
"result": {
"item": "computercraft:pocket_computer_normal"
"item": "computercraft:pocket_computer_normal",
"nbt": "{Upgrade:\"computercraft:speaker\"}"
}
}

View File

@ -14,6 +14,7 @@
}
},
"result": {
"item": "computercraft:pocket_computer_normal"
"item": "computercraft:pocket_computer_normal",
"nbt": "{Upgrade:\"computercraft:wireless_modem_advanced\"}"
}
}

View File

@ -14,6 +14,7 @@
}
},
"result": {
"item": "computercraft:pocket_computer_normal"
"item": "computercraft:pocket_computer_normal",
"nbt": "{Upgrade:\"computercraft:wireless_modem_normal\"}"
}
}

View File

@ -1,19 +0,0 @@
{
"type": "computercraft:impostor_shaped",
"group": "computercraft:pocket_normal",
"pattern": [
"#",
"P"
],
"key": {
"#": {
"item": "computercraft:pocket_computer_normal"
},
"P": {
"item": "minecraft:crafting_table"
}
},
"result": {
"item": "computercraft:pocket_computer_normal"
}
}

View File

@ -1,19 +0,0 @@
{
"type": "computercraft:impostor_shaped",
"group": "computercraft:pocket_normal",
"pattern": [
"#",
"P"
],
"key": {
"#": {
"item": "computercraft:pocket_computer_normal"
},
"P": {
"item": "minecraft:diamond_axe"
}
},
"result": {
"item": "computercraft:pocket_computer_normal"
}
}

View File

@ -1,19 +0,0 @@
{
"type": "computercraft:impostor_shaped",
"group": "computercraft:pocket_normal",
"pattern": [
"#",
"P"
],
"key": {
"#": {
"item": "computercraft:pocket_computer_normal"
},
"P": {
"item": "minecraft:diamond_hoe"
}
},
"result": {
"item": "computercraft:pocket_computer_normal"
}
}

View File

@ -1,19 +0,0 @@
{
"type": "computercraft:impostor_shaped",
"group": "computercraft:pocket_normal",
"pattern": [
"#",
"P"
],
"key": {
"#": {
"item": "computercraft:pocket_computer_normal"
},
"P": {
"item": "minecraft:diamond_pickaxe"
}
},
"result": {
"item": "computercraft:pocket_computer_normal"
}
}

View File

@ -1,19 +0,0 @@
{
"type": "computercraft:impostor_shaped",
"group": "computercraft:pocket_normal",
"pattern": [
"#",
"P"
],
"key": {
"#": {
"item": "computercraft:pocket_computer_normal"
},
"P": {
"item": "minecraft:diamond_shovel"
}
},
"result": {
"item": "computercraft:pocket_computer_normal"
}
}

View File

@ -1,19 +0,0 @@
{
"type": "computercraft:impostor_shaped",
"group": "computercraft:pocket_normal",
"pattern": [
"#",
"P"
],
"key": {
"#": {
"item": "computercraft:pocket_computer_normal"
},
"P": {
"item": "minecraft:diamond_sword"
}
},
"result": {
"item": "computercraft:pocket_computer_normal"
}
}