From 4b62742ec759cbbee1331a319614ce782c0dbee7 Mon Sep 17 00:00:00 2001 From: Linguardium Date: Fri, 24 Apr 2020 22:33:27 -0700 Subject: [PATCH] Old Nose, optional modmenu, spawn items also added linkbacks to github --- build.gradle | 10 +- gradle.properties | 2 +- .../assets/tradesmen/logo.png => logo.png | Bin .../mod/linguardium/tradesmen/Tradesmen.java | 3 +- .../mod/linguardium/tradesmen/api/Trader.java | 10 +- .../tradesmen/config/ConfigMenu.java | 7 +- .../tradesmen/config/ModConfig.java | 1 + .../TradesmenClothingFeatureRenderer.java | 8 ++ .../entities/TradesmenEntityModel.java | 14 +++ .../linguardium/tradesmen/items/ModItems.java | 24 ++++ .../tradesmen/items/SpawnEggSpawner.java | 38 ++++++ .../tradesmen/items/TradesmenSpawnEgg.java | 118 ++++++++++++++++++ .../assets/tradesmen/lang/en_us.json | 5 +- .../tradesmen/models/item/spawn_egg.json | 3 + .../models/item/spawn_egg_spawner.json | 3 + .../data/tradesmen/Traders/TacoTrader.txt | 17 --- src/main/resources/fabric.mod.json | 13 +- 17 files changed, 246 insertions(+), 30 deletions(-) rename src/main/resources/assets/tradesmen/logo.png => logo.png (100%) create mode 100644 src/main/java/mod/linguardium/tradesmen/items/ModItems.java create mode 100644 src/main/java/mod/linguardium/tradesmen/items/SpawnEggSpawner.java create mode 100644 src/main/java/mod/linguardium/tradesmen/items/TradesmenSpawnEgg.java create mode 100644 src/main/resources/assets/tradesmen/models/item/spawn_egg.json create mode 100644 src/main/resources/assets/tradesmen/models/item/spawn_egg_spawner.json delete mode 100644 src/main/resources/data/tradesmen/Traders/TacoTrader.txt diff --git a/build.gradle b/build.gradle index a29ab34..f680710 100644 --- a/build.gradle +++ b/build.gradle @@ -28,13 +28,13 @@ dependencies { modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_api_version}" modImplementation "io.github.cottonmc:LibCD:${project.libcd_version}" - include "io.github.cottonmc:LibCD:${project.libcd_version}" + //include "io.github.cottonmc:LibCD:${project.libcd_version}" // 270kb - modApi "me.shedaniel.cloth:config-2:${project.cloth_config_version}" - include "me.shedaniel.cloth:config-2:${project.cloth_config_version}" + modImplementation "me.shedaniel.cloth:config-2:${project.cloth_config_version}" + //include "me.shedaniel.cloth:config-2:${project.cloth_config_version}" // ~400kb modImplementation "io.github.prospector:modmenu:${project.modmenu_version}" - modCompile "me.sargunvohra.mcmods:autoconfig1u:${project.autoconfig_version}" - include "me.sargunvohra.mcmods:autoconfig1u:${project.autoconfig_version}" + modImplementation "me.sargunvohra.mcmods:autoconfig1u:${project.autoconfig_version}" + //include "me.sargunvohra.mcmods:autoconfig1u:${project.autoconfig_version}" // 210kb } diff --git a/gradle.properties b/gradle.properties index dbca633..7d132b5 100644 --- a/gradle.properties +++ b/gradle.properties @@ -15,4 +15,4 @@ fabric_api_version = 0.5.1+build.294-1.15 libcd_version = 2.3.0+1.15.2 cloth_config_version = 2.13.2 modmenu_version = 1.10.2+build.32 -autoconfig_version = 2.0 \ No newline at end of file +autoconfig_version = 2.0.1 \ No newline at end of file diff --git a/src/main/resources/assets/tradesmen/logo.png b/logo.png similarity index 100% rename from src/main/resources/assets/tradesmen/logo.png rename to logo.png diff --git a/src/main/java/mod/linguardium/tradesmen/Tradesmen.java b/src/main/java/mod/linguardium/tradesmen/Tradesmen.java index 9780bf0..4ed9f62 100644 --- a/src/main/java/mod/linguardium/tradesmen/Tradesmen.java +++ b/src/main/java/mod/linguardium/tradesmen/Tradesmen.java @@ -8,9 +8,9 @@ import mod.linguardium.tradesmen.api.objects.tradeObject; import mod.linguardium.tradesmen.config.ModConfig; import mod.linguardium.tradesmen.entities.InitEntities; +import mod.linguardium.tradesmen.items.ModItems; import net.fabricmc.api.ModInitializer; import net.fabricmc.fabric.api.event.world.WorldTickCallback; -import net.minecraft.util.Identifier; import org.apache.logging.log4j.Level; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -29,6 +29,7 @@ public void onInitialize() { AutoConfig.register(ModConfig.class, JanksonConfigSerializer::new); InitEntities.init(); tradeObject.init(); + ModItems.init(); WorldTickCallback.EVENT.register(TradesmenManager.INSTANCE); TweakerManager.INSTANCE.addTweaker("Tradesmen.TraderTweaker", TraderTweaker.INSTANCE); diff --git a/src/main/java/mod/linguardium/tradesmen/api/Trader.java b/src/main/java/mod/linguardium/tradesmen/api/Trader.java index fd94e1c..b7a6930 100644 --- a/src/main/java/mod/linguardium/tradesmen/api/Trader.java +++ b/src/main/java/mod/linguardium/tradesmen/api/Trader.java @@ -39,7 +39,7 @@ private static Int2ObjectMap copyToFastUtilMap(ImmutableM public Boolean isTiered = false; public List allowedWorlds = new ArrayList<>(); public boolean godMode; - + public boolean oldNose; public Trader(String name, String TextureId, String clothesTextureId, float[] clothesColor, String hatTextureId, float[] hatColor, String animal, List> trades, List tradeCount, Boolean tiered) { this.name = new TranslatableText(name); @@ -54,6 +54,7 @@ public Trader(String name, String TextureId, String clothesTextureId, float[] cl this.TRADES=trades; this.godMode=false; this.animalCount=1; + this.oldNose=false; } public Trader() { this.name=new LiteralText("Tradesman");; @@ -66,6 +67,7 @@ public Trader() { this.allowedWorlds=new ArrayList<>(); this.godMode=false; this.animalCount=1; + this.oldNose=false; } public Trader name(String trader_name) { this.name=new TranslatableText(trader_name); @@ -124,6 +126,8 @@ public Trader godMode(boolean b) { this.godMode=b; return this; } + public Trader oldNose(boolean b) { this.oldNose=b; return this; } + public Trader setTrades(List> trades, List tradeCounts) { List> tradeFactories = new ArrayList>(); for (int i=0;i> trades = new ArrayList<>(); ListTag tradeSetsTag = tag.getList("trades",9); // List Tag Type for (Tag tradesTag : tradeSetsTag) { @@ -193,6 +198,7 @@ public CompoundTag toClientTag(CompoundTag tag) throws InvalidObjectException { tag.putString("hatId",this.hatTextureId); tag.putInt("hatColor",ParseColor.toInt(this.hatColor)); tag.putBoolean("tiered",this.isTiered); + tag.putBoolean("oldNose",this.oldNose); ListTag trades = new ListTag(); for (List tradeObjects : this.tObjTrades) { ListTag tradeX = new ListTag(); diff --git a/src/main/java/mod/linguardium/tradesmen/config/ConfigMenu.java b/src/main/java/mod/linguardium/tradesmen/config/ConfigMenu.java index 4295e56..5ba99ae 100644 --- a/src/main/java/mod/linguardium/tradesmen/config/ConfigMenu.java +++ b/src/main/java/mod/linguardium/tradesmen/config/ConfigMenu.java @@ -5,6 +5,7 @@ import mod.linguardium.tradesmen.Tradesmen; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; +import net.fabricmc.loader.api.FabricLoader; import net.minecraft.client.gui.screen.Screen; import java.util.Optional; @@ -19,6 +20,10 @@ public String getModId() { @Override public Optional> getConfigScreen(Screen screen) { - return Optional.of(AutoConfig.getConfigScreen(ModConfig.class, screen)); + if (FabricLoader.getInstance().isModLoaded("cloth-config2")) { + return Optional.of(AutoConfig.getConfigScreen(ModConfig.class, screen)); + }else{ + return Optional.empty(); + } } } diff --git a/src/main/java/mod/linguardium/tradesmen/config/ModConfig.java b/src/main/java/mod/linguardium/tradesmen/config/ModConfig.java index b551d47..cecc061 100644 --- a/src/main/java/mod/linguardium/tradesmen/config/ModConfig.java +++ b/src/main/java/mod/linguardium/tradesmen/config/ModConfig.java @@ -10,6 +10,7 @@ public class ModConfig implements ConfigData { public boolean disableWanderingTrader = false; public boolean disableWanderingTradesmen = false; + public boolean vanillaNose = false; public boolean despawnAnimals = true; @ConfigEntry.Gui.Tooltip public int spawnDelay = 24000; diff --git a/src/main/java/mod/linguardium/tradesmen/entities/TradesmenClothingFeatureRenderer.java b/src/main/java/mod/linguardium/tradesmen/entities/TradesmenClothingFeatureRenderer.java index 9cd4135..a712e29 100644 --- a/src/main/java/mod/linguardium/tradesmen/entities/TradesmenClothingFeatureRenderer.java +++ b/src/main/java/mod/linguardium/tradesmen/entities/TradesmenClothingFeatureRenderer.java @@ -1,5 +1,6 @@ package mod.linguardium.tradesmen.entities; +import mod.linguardium.tradesmen.Tradesmen; import mod.linguardium.tradesmen.api.Trader; import mod.linguardium.tradesmen.api.TradesmenManager; import net.fabricmc.api.EnvType; @@ -29,6 +30,13 @@ public void render(MatrixStack matrixStack, VertexConsumerProvider vertexConsume if (!livingEntity.isInvisible()) { Trader traderData = TradesmenManager.getTraderById(((TradesmenEntity)livingEntity).getTraderType()); M entityModel = this.getContextModel(); + if ( entityModel instanceof TradesmenEntityModel) { + if (traderData.oldNose || Tradesmen.getConfig().vanillaNose) { + ((TradesmenEntityModel) entityModel).setVanillaNose(true); + } else { + ((TradesmenEntityModel) entityModel).setVanillaNose(false); + } + } entityModel.setHatVisible(true); // show head texture changes if (!traderData.clothesTextureId.isEmpty()) { renderModel(entityModel, new Identifier(traderData.clothesTextureId), matrixStack, vertexConsumerProvider, i, livingEntity, traderData.clothesColor[0], traderData.clothesColor[1], traderData.clothesColor[2]); diff --git a/src/main/java/mod/linguardium/tradesmen/entities/TradesmenEntityModel.java b/src/main/java/mod/linguardium/tradesmen/entities/TradesmenEntityModel.java index 592332d..1358054 100644 --- a/src/main/java/mod/linguardium/tradesmen/entities/TradesmenEntityModel.java +++ b/src/main/java/mod/linguardium/tradesmen/entities/TradesmenEntityModel.java @@ -19,6 +19,7 @@ public class TradesmenEntityModel extends CompositeEntityModel protected final ModelPart rightLeg; protected final ModelPart leftLeg; protected final ModelPart nose; + protected final ModelPart nose2; public TradesmenEntityModel(float scale) { this(scale, 64, 64); @@ -39,9 +40,13 @@ public TradesmenEntityModel(float scale, int textureWidth, int textureHeight) { this.hatpart.pitch = -1.5707964F; this.hat.addChild(this.hatpart); this.nose = (new ModelPart(this)).setTextureSize(textureWidth, textureHeight); + this.nose2 = (new ModelPart(this)).setTextureSize(textureWidth, textureHeight); + this.nose2.setPivot(0.0F, -2.0F, 0.0F); + this.nose2.setTextureOffset(24, 0).addCuboid(-1.0F, -1.0F, -6.0F, 2.0F, 4.0F, 2.0F, scale); this.nose.setPivot(0.0F, -2.0F, 0.0F); this.nose.setTextureOffset(24, 0).addCuboid(-1.0F, -1.0F, -5.0F, 2.0F, 2.0F, 2.0F, scale); this.head.addChild(this.nose); + this.head.addChild(this.nose2); this.torso = (new ModelPart(this)).setTextureSize(textureWidth, textureHeight); this.torso.setPivot(0.0F, 0.0F, 0.0F); this.torso.setTextureOffset(16, 20).addCuboid(-4.0F, 0.0F, -3.0F, 8.0F, 12.0F, 6.0F, scale); @@ -100,4 +105,13 @@ public void setHatVisible(boolean visible) { this.hat.visible = visible; this.hatpart.visible = visible; } + public void setVanillaNose(boolean enabled) { + if (enabled) { + this.nose.visible=false; + this.nose2.visible=true; + }else{ + this.nose.visible=true; + this.nose2.visible=false; + } + } } diff --git a/src/main/java/mod/linguardium/tradesmen/items/ModItems.java b/src/main/java/mod/linguardium/tradesmen/items/ModItems.java new file mode 100644 index 0000000..3aac407 --- /dev/null +++ b/src/main/java/mod/linguardium/tradesmen/items/ModItems.java @@ -0,0 +1,24 @@ +package mod.linguardium.tradesmen.items; + +import net.fabricmc.fabric.api.client.itemgroup.FabricItemGroupBuilder; +import net.minecraft.item.ItemGroup; +import net.minecraft.item.ItemStack; +import net.minecraft.item.Items; +import net.minecraft.util.Identifier; +import net.minecraft.util.registry.Registry; + +import static mod.linguardium.tradesmen.Tradesmen.MOD_ID; +import static mod.linguardium.tradesmen.entities.InitEntities.TRADESMEN_ENTITY_TYPE; + +public class ModItems { + public static final TradesmenSpawnEgg SPAWN_EGG = new TradesmenSpawnEgg(TRADESMEN_ENTITY_TYPE,0x0075db, 0xffe203); + public static final SpawnEggSpawner SPAWN_EGG_SPAWNER = new SpawnEggSpawner(); + public static ItemGroup ITEM_GROUP = FabricItemGroupBuilder.create(new Identifier(MOD_ID,"spawneggs")).icon(()->new ItemStack(Items.EMERALD)).appendItems((list)-> + { + list.add(new ItemStack(SPAWN_EGG_SPAWNER)); + }).build(); + public static void init() { + Registry.register(Registry.ITEM,new Identifier(MOD_ID,"spawn_egg"),SPAWN_EGG); + Registry.register(Registry.ITEM,new Identifier(MOD_ID, "spawn_egg_spawner"),SPAWN_EGG_SPAWNER); + } +} diff --git a/src/main/java/mod/linguardium/tradesmen/items/SpawnEggSpawner.java b/src/main/java/mod/linguardium/tradesmen/items/SpawnEggSpawner.java new file mode 100644 index 0000000..618e5fa --- /dev/null +++ b/src/main/java/mod/linguardium/tradesmen/items/SpawnEggSpawner.java @@ -0,0 +1,38 @@ +package mod.linguardium.tradesmen.items; + +import mod.linguardium.tradesmen.api.TradesmenManager; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.util.Hand; +import net.minecraft.util.ItemScatterer; +import net.minecraft.util.TypedActionResult; +import net.minecraft.world.World; + +public class SpawnEggSpawner extends Item { + public SpawnEggSpawner() { + super(new Item.Settings().maxCount(1).group(ModItems.ITEM_GROUP)); + } + + @Override + public TypedActionResult use(World world, PlayerEntity user, Hand hand) { + ItemStack stack = user.getStackInHand(hand); + if (!world.isClient()) { + for (String k : TradesmenManager.Traders.keySet()) { + if (k.equals("default:default_trader")) + continue; + ItemStack i = new ItemStack(ModItems.SPAWN_EGG); + CompoundTag tag = i.getOrCreateTag(); + tag.putString("traderType", k); + i.setTag(tag); + if (!user.giveItemStack(i)) { + ItemScatterer.spawn(world, user.getX(), user.getY(), user.getZ(), i); + } + } + stack.decrement(1); + } + + return TypedActionResult.success(stack); + } +} diff --git a/src/main/java/mod/linguardium/tradesmen/items/TradesmenSpawnEgg.java b/src/main/java/mod/linguardium/tradesmen/items/TradesmenSpawnEgg.java new file mode 100644 index 0000000..ed3c391 --- /dev/null +++ b/src/main/java/mod/linguardium/tradesmen/items/TradesmenSpawnEgg.java @@ -0,0 +1,118 @@ +package mod.linguardium.tradesmen.items; + +import mod.linguardium.tradesmen.api.Trader; +import mod.linguardium.tradesmen.api.TradesmenManager; +import mod.linguardium.tradesmen.entities.TradesmenEntity; +import net.minecraft.block.BlockState; +import net.minecraft.block.FluidBlock; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityType; +import net.minecraft.entity.SpawnType; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.item.*; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.text.LiteralText; +import net.minecraft.text.Text; +import net.minecraft.text.TranslatableText; +import net.minecraft.util.ActionResult; +import net.minecraft.util.Hand; +import net.minecraft.util.TypedActionResult; +import net.minecraft.util.hit.BlockHitResult; +import net.minecraft.util.hit.HitResult; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.Direction; +import net.minecraft.world.RayTraceContext; +import net.minecraft.world.World; + +import java.util.Objects; + +public class TradesmenSpawnEgg extends SpawnEggItem { + public TradesmenSpawnEgg(EntityType type, int primaryColor, int secondaryColor) { + super(type, primaryColor, secondaryColor, new Item.Settings().group(ItemGroup.MISC)); + } + + @Override + public ActionResult useOnBlock(ItemUsageContext context) { + World world = context.getWorld(); + if (!world.isClient) { + ItemStack itemStack = context.getStack(); + BlockPos blockPos = context.getBlockPos(); + Direction direction = context.getSide(); + BlockState blockState = world.getBlockState(blockPos); + + BlockPos blockPos3; + if (blockState.getCollisionShape(world, blockPos).isEmpty()) { + blockPos3 = blockPos; + } else { + blockPos3 = blockPos.offset(direction); + } + + EntityType entityType2 = this.getEntityType(itemStack.getTag()); + Entity e = entityType2.spawnFromItemStack(world, itemStack, context.getPlayer(), blockPos3, SpawnType.SPAWN_EGG, true, !Objects.equals(blockPos, blockPos3) && direction == Direction.UP); + if (e!=null && e instanceof TradesmenEntity) { + ((TradesmenEntity) e).setTraderType(this.getTraderType(itemStack)); + if (TradesmenManager.getTraderById(getTraderType(itemStack)).isTiered) { + ((TradesmenEntity) e).setTraderTier(world.random.nextInt(TradesmenManager.getTraderById(getTraderType(itemStack)).tierTradeCount.size())); + } + ((TradesmenEntity)e).setDespawnDelay((int)(600)); + } + + } + return ActionResult.SUCCESS; + } + + public TypedActionResult use(World world, PlayerEntity user, Hand hand) { + ItemStack itemStack = user.getStackInHand(hand); + HitResult hitResult = rayTrace(world, user, RayTraceContext.FluidHandling.SOURCE_ONLY); + if (hitResult.getType() != HitResult.Type.BLOCK) { + return TypedActionResult.pass(itemStack); + } else if (world.isClient) { + return TypedActionResult.success(itemStack); + } else { + BlockHitResult blockHitResult = (BlockHitResult)hitResult; + BlockPos blockPos = blockHitResult.getBlockPos(); + if (!(world.getBlockState(blockPos).getBlock() instanceof FluidBlock)) { + return TypedActionResult.pass(itemStack); + } else if (world.canPlayerModifyAt(user, blockPos) && user.canPlaceOn(blockPos, blockHitResult.getSide(), itemStack)) { + EntityType entityType = this.getEntityType(itemStack.getTag()); + Entity e = entityType.spawnFromItemStack(world, itemStack, user, blockPos, SpawnType.SPAWN_EGG, false, false); + if (e!=null && e instanceof TradesmenEntity) { + ((TradesmenEntity) e).setTraderType(this.getTraderType(itemStack)); + if (TradesmenManager.getTraderById(getTraderType(itemStack)).isTiered) { + ((TradesmenEntity) e).setTraderTier(world.random.nextInt(TradesmenManager.getTraderById(getTraderType(itemStack)).tierTradeCount.size())); + } + ((TradesmenEntity)e).setDespawnDelay((int)(600)); + } + return TypedActionResult.success(itemStack); + } else { + return TypedActionResult.fail(itemStack); + } + } + } + + private String getTraderType(ItemStack stack) { + CompoundTag tag = stack.getOrCreateTag(); + if (tag.contains("traderType")) { + return tag.getString("traderType"); + }else{ + return "default:default_trader"; + } + } + @Override + public Text getName(ItemStack stack) { + Trader t = TradesmenManager.getTraderById(this.getTraderType(stack)); + Text name; + if (t!=null) { + name = t.name.copy(); + }else{ + name = new LiteralText("Tradesmen"); + } + return new TranslatableText(this.getTranslationKey(),name); + } + + public boolean isOfSameEntityType(CompoundTag tag, EntityType type) { + return false; + } + + //Registry.register(Registry.ITEM, new Identifier("wiki_entity", "cookie_creeper_spawn_egg"), new SpawnEggItem(ModEntities.COOKIE_CREEPER, 0x0DA70B, 0x73420E)); +} diff --git a/src/main/resources/assets/tradesmen/lang/en_us.json b/src/main/resources/assets/tradesmen/lang/en_us.json index c0d0b64..808ec3b 100644 --- a/src/main/resources/assets/tradesmen/lang/en_us.json +++ b/src/main/resources/assets/tradesmen/lang/en_us.json @@ -1,5 +1,8 @@ { - "entity.tradesmen.carltwo.name": "Carl II", + "item.tradesmen.spawn_egg_spawner": "Tradesmen Spawn Egg Pack", + "item.tradesmen.spawn_egg": "%s Spawn Egg", + "itemGroup.tradesmen.spawneggs": "Tradesmen Test Tools", + "text.autoconfig.tradesmen.option.vanillaNose": "Use vanilla's big nose", "text.autoconfig.tradesmen.option.spawnDelay": "Ticks between spawn attempts", "text.autoconfig.tradesmen.option.spawnDelay.@Tooltip": "Also used for despawn timer", "text.autoconfig.tradesmen.option.spawnChance": "Chance (in %%) of spawning a trader", diff --git a/src/main/resources/assets/tradesmen/models/item/spawn_egg.json b/src/main/resources/assets/tradesmen/models/item/spawn_egg.json new file mode 100644 index 0000000..7a2c6da --- /dev/null +++ b/src/main/resources/assets/tradesmen/models/item/spawn_egg.json @@ -0,0 +1,3 @@ +{ + "parent": "item/template_spawn_egg" +} \ No newline at end of file diff --git a/src/main/resources/assets/tradesmen/models/item/spawn_egg_spawner.json b/src/main/resources/assets/tradesmen/models/item/spawn_egg_spawner.json new file mode 100644 index 0000000..9d9c45e --- /dev/null +++ b/src/main/resources/assets/tradesmen/models/item/spawn_egg_spawner.json @@ -0,0 +1,3 @@ +{ + "parent": "item/bookshelf" +} \ No newline at end of file diff --git a/src/main/resources/data/tradesmen/Traders/TacoTrader.txt b/src/main/resources/data/tradesmen/Traders/TacoTrader.txt deleted file mode 100644 index 57c01d6..0000000 --- a/src/main/resources/data/tradesmen/Traders/TacoTrader.txt +++ /dev/null @@ -1,17 +0,0 @@ - - TraderTweaker.addTrader("tradesmen:tacoman",makeTrader().name("Taco Jubilee").animal("minecraft:bee").setTrades([[ - TraderTweaker.makeTrade("tacocraft:steak_taco@3",4,4,1), - TraderTweaker.makeTrade("tacocraft:fish_taco@3",2,4,1), - TraderTweaker.makeTrade("tacocraft:crunchy_taco@3",4,4,1), - TraderTweaker.makeTrade("tacocraft:chicken_taco@3",2,4,1), - TraderTweaker.makeTrade("tacocraft:cheesy_taco@3",3,4,1), - TraderTweaker.makeTrade("tacocraft:carnitas_taco@3",3,4,1), - TraderTweaker.makeTrade("tacocraft:al_pastor_taco@3",3,4,1), - - ], - [ - TraderTweaker.makeTrade("tacocraft:tortilla@4",1,4,1), - TraderTweaker.makeTrade("tacocraft:tortilla_dough@8",1,4,1), - TraderTweaker.makeTrade("tacocraft:corn_seed@3",1,4,1), - TraderTweaker.makeTrade("tacocraft:golden_taco@1",10,4,1), - ]],[3,1]); \ No newline at end of file diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index b1498ce..7ad28f8 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -8,7 +8,11 @@ "Linguardium" ], "contributors": [], - "contact": {}, + "contact": { + "homepage": "https://github.com/Linguardium/WanderingTradesmen/wiki", + "sources": "https://github.com/Linguardium/WanderingTradesmen", + "issues": "https://github.com/Linguardium/WanderingTradesmen/issues" + }, "license": "MIT", "icon": "assets/tradesmen/icon.png", "environment": "*", @@ -28,6 +32,11 @@ "depends": { "fabricloader": ">=0.4.0", "fabric": "*", - "libcd": ">=2.3.0" + "libcd": ">=2.3.0", + "autoconfig1u": ">=2.0" + }, + "recommends": { + "cloth-config2":">=2.13.2", + "modmenu": ">=1.10.2" } } \ No newline at end of file