diff --git a/README.md b/README.md index f8d2502..8734ed9 100644 --- a/README.md +++ b/README.md @@ -1 +1,31 @@ -# Random-Mod \ No newline at end of file +# Random Mod - Forge & Fabric +Random Mod is a mod that has armor, weapons, and tools. Also have a towel hanger, and some food with it. The armor is stronger than iron but the same strength as diamond. The weapons like the sword is stronger than diamond sword and the tools are the same as the diamond tools. The towel hanger is just a decoration block so it does not do much. The food in this mod has a negative affects if you eat raw but when cooked the buff will have a positive affect. + + +______________________________________________________________________________ + +## Items to add: + + - [ ] Crack Cocaine + - [ ] The Random Dimension + - [ ] Air Pods + +___________________________________________________________________________________________________________________________________________________________________________________ +Offical Mod review for the Random Mod +- + +[![Alt text](https://img.youtube.com/vi/rK8y4ghOhuY/mq2.jpg)](https://www.youtube.com/watch?v=rK8y4ghOhuY) + +___________________________________________________________________________________________________________________________________________________________________________________ +You can download at [Modrinth](https://www.modrinth.com/mod/randommod/version/A3Y4VKHf) or at [CurseForge](https://www.curseforge.com/minecraft/mc-mods/random-mod-by-easycanadiangamer)! + + + + +Fabric Version: [Fabric](https://github.com/EasyCanadianGamer/random-mod-fabric-1.20.1) + + + + + +Forge Version: [Forge](https://github.com/EasyCanadianGamer/randommod-1.20.1) diff --git a/main/java/com/canadiangamer/randommod/Main.java b/main/java/com/canadiangamer/randommod/Main.java new file mode 100644 index 0000000..de81e53 --- /dev/null +++ b/main/java/com/canadiangamer/randommod/Main.java @@ -0,0 +1,52 @@ +package com.canadiangamer.randommod; + +import com.canadiangamer.randommod.init.ModRecipes; +import com.canadiangamer.randommod.proxy.CommonProxy; +import com.canadiangamer.randommod.tabs.RandomTab; +import com.canadiangamer.randommod.util.Reference; +import com.canadiangamer.randommod.world.ModWorldGen; + +import net.minecraft.creativetab.CreativeTabs; +import net.minecraftforge.fml.common.Mod; +import net.minecraftforge.fml.common.Mod.EventHandler; +import net.minecraftforge.fml.common.Mod.Instance; +import net.minecraftforge.fml.common.SidedProxy; +import net.minecraftforge.fml.common.event.FMLInitializationEvent; +import net.minecraftforge.fml.common.event.FMLPostInitializationEvent; +import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; +import net.minecraftforge.fml.common.registry.GameRegistry; + +@Mod(modid = Reference.MOD_ID, name = Reference.NAME, version = Reference.VERSION) +public class Main { + + @Instance + public static Main instance; + + @SidedProxy(clientSide = Reference.CLIENT_PROXY_CLASS, serverSide = Reference.COMMON_PROXY_CLASS) + public static CommonProxy proxy; + + @EventHandler + public static void PreInit(FMLPreInitializationEvent event) + { + GameRegistry.registerWorldGenerator(new ModWorldGen(), 3); + + } + + @EventHandler + public static void init(FMLInitializationEvent event) + { + ModRecipes.init(); + } + + @EventHandler + public static void Postinit(FMLPostInitializationEvent event) + { + + } + + public static final CreativeTabs randomtab = new RandomTab("randommod"); + + + + +} diff --git a/main/java/com/canadiangamer/randommod/RandomMod.java b/main/java/com/canadiangamer/randommod/RandomMod.java new file mode 100644 index 0000000..8924bad --- /dev/null +++ b/main/java/com/canadiangamer/randommod/RandomMod.java @@ -0,0 +1,58 @@ +package com.canadiangamer.randommod; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import com.canadiangamer.randommod.core.init.BlockInit; +import com.canadiangamer.randommod.core.init.ItemInit; +import com.canadiangamer.randommod.world.OreGeneration; + +import net.minecraft.item.ItemGroup; +import net.minecraft.item.ItemStack; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.eventbus.api.EventPriority; +import net.minecraftforge.eventbus.api.IEventBus; +import net.minecraftforge.fml.common.Mod; +import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; +import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; + +// The value here should match an entry in the META-INF/mods.toml file +@Mod(RandomMod.MOD_ID) +public class RandomMod +{ + // Directly reference a log4j logger. + public static final Logger LOGGER = LogManager.getLogger(); + public static final String MOD_ID = "rm"; +public static final ItemGroup RANDOM_GROUP = new RandomGroup("RandomModTab"); + public RandomMod() { + IEventBus bus = FMLJavaModLoadingContext.get().getModEventBus(); + bus.addListener(this::setup); + + ItemInit.ITEMS.register(bus); + BlockInit.BLOCKS.register(bus); + + MinecraftForge.EVENT_BUS.register(this); + MinecraftForge.EVENT_BUS.addListener(EventPriority.HIGH, OreGeneration::generateOres); + } + + private void setup(final FMLCommonSetupEvent event) + { + + } + + + + public static class RandomGroup extends ItemGroup { + + public RandomGroup(String label) { + super(label); + } + + @Override + public ItemStack createIcon() { + return ItemInit.RANDOM_BLOCK.get().getDefaultInstance(); + } + } + + +} diff --git a/main/java/com/canadiangamer/randommod/blocks/BlockBase.java b/main/java/com/canadiangamer/randommod/blocks/BlockBase.java new file mode 100644 index 0000000..bc1955f --- /dev/null +++ b/main/java/com/canadiangamer/randommod/blocks/BlockBase.java @@ -0,0 +1,32 @@ +package com.canadiangamer.randommod.blocks; + +import com.canadiangamer.randommod.Main; +import com.canadiangamer.randommod.init.ModBlocks; +import com.canadiangamer.randommod.init.ModItems; +import com.canadiangamer.randommod.util.IHasModel; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemBlock; + +public class BlockBase extends Block implements IHasModel +{ + public BlockBase (String name, Material material) + { + super(material); + setUnlocalizedName(name); + setRegistryName(name); + setCreativeTab(Main.randomtab); + + ModBlocks.BLOCKS.add(this); + ModItems.ITEMS.add(new ItemBlock(this).setRegistryName(this.getRegistryName())); + } + +@Override +public void registerModels() +{ +Main.proxy.registerItemRenderer(Item.getItemFromBlock(this), 0, "inventory"); +} +} diff --git a/main/java/com/canadiangamer/randommod/blocks/BlockTowelHanger.java b/main/java/com/canadiangamer/randommod/blocks/BlockTowelHanger.java new file mode 100644 index 0000000..3059191 --- /dev/null +++ b/main/java/com/canadiangamer/randommod/blocks/BlockTowelHanger.java @@ -0,0 +1,41 @@ +package com.canadiangamer.randommod.blocks; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.block.state.IBlockState; +import net.minecraft.util.math.AxisAlignedBB; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.IBlockAccess; + +public class BlockTowelHanger extends BlockBase { + +public BlockTowelHanger(String name, Material cloth) { + super(name, Material.CLOTH); + + } + +public static final AxisAlignedBB TOWEL_HANGER_ABB = new AxisAlignedBB(0.1875D, 0, 0.1875D, 0.8125D, 0.625D, 0.8125); + + + + + + @Override + public boolean isOpaqueCube(IBlockState state) + { + return false; + } + + @Override + public boolean isFullCube(IBlockState state) + { + return false; + } + +@Override +public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) +{ + return TOWEL_HANGER_ABB; +} + +} diff --git a/main/java/com/canadiangamer/randommod/blocks/RandomBlock.java b/main/java/com/canadiangamer/randommod/blocks/RandomBlock.java new file mode 100644 index 0000000..a2d5a5e --- /dev/null +++ b/main/java/com/canadiangamer/randommod/blocks/RandomBlock.java @@ -0,0 +1,19 @@ +package com.canadiangamer.randommod.blocks; + +import net.minecraft.block.SoundType; +import net.minecraft.block.material.Material; + +public class RandomBlock extends BlockBase +{ + + public RandomBlock(String name, Material material) + { + super(name, material); + + setSoundType(SoundType.METAL); + setHardness(5.0F); + setResistance(15.0F); + setHarvestLevel("pickaxe", 2); + setLightLevel(1.0f); + } +} diff --git a/main/java/com/canadiangamer/randommod/blocks/RandomOre.java b/main/java/com/canadiangamer/randommod/blocks/RandomOre.java new file mode 100644 index 0000000..b74e5e3 --- /dev/null +++ b/main/java/com/canadiangamer/randommod/blocks/RandomOre.java @@ -0,0 +1,15 @@ +package com.canadiangamer.randommod.blocks; + +import net.minecraft.block.SoundType; +import net.minecraft.block.material.Material; + +public class RandomOre extends BlockBase { + + public RandomOre(String name, Material material) { + super(name, material); + setSoundType(SoundType.METAL); + setHardness(5.0F); + setResistance(15.0F); + setHarvestLevel("pickaxe", 2); + } +} diff --git a/main/java/com/canadiangamer/randommod/client/util/ClientUtils.java b/main/java/com/canadiangamer/randommod/client/util/ClientUtils.java new file mode 100644 index 0000000..ba40bc6 --- /dev/null +++ b/main/java/com/canadiangamer/randommod/client/util/ClientUtils.java @@ -0,0 +1,9 @@ +package com.canadiangamer.randommod.client.util; + +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.api.distmarker.OnlyIn; + +@OnlyIn(Dist.CLIENT) +public class ClientUtils { + +} diff --git a/main/java/com/canadiangamer/randommod/core/init/BlockInit.java b/main/java/com/canadiangamer/randommod/core/init/BlockInit.java new file mode 100644 index 0000000..7159fa0 --- /dev/null +++ b/main/java/com/canadiangamer/randommod/core/init/BlockInit.java @@ -0,0 +1,37 @@ +package com.canadiangamer.randommod.core.init; + +import java.util.function.ToIntFunction; + +import com.canadiangamer.randommod.RandomMod; + +import net.minecraft.block.AbstractBlock; +import net.minecraft.block.Block; +import net.minecraft.block.BlockState; +import net.minecraft.block.Blocks; +import net.minecraft.block.SoundType; +import net.minecraft.block.material.Material; +import net.minecraft.block.material.MaterialColor; +import net.minecraftforge.common.ToolType; +import net.minecraftforge.fml.RegistryObject; +import net.minecraftforge.registries.DeferredRegister; +import net.minecraftforge.registries.ForgeRegistries; + +public class BlockInit { + + + // Light level (Change the 5 to whatever light level you want). + public static ToIntFunction lightLevel = BlockState -> 10; + + public static final DeferredRegister BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, + RandomMod.MOD_ID); + + public static final RegistryObject RANDOM_BLOCK = BLOCKS + .register("random_block", + () -> new Block(AbstractBlock.Properties.create(Material.IRON, MaterialColor.BLUE) + .hardnessAndResistance(15f, 30f).harvestTool(ToolType.PICKAXE).harvestLevel(5) + .sound(SoundType.METAL).setRequiresTool().setLightLevel(lightLevel))); + + public static final RegistryObject RANDOM_ORE = BLOCKS.register("random_ore", + () -> new Block(AbstractBlock.Properties.from(Blocks.IRON_ORE))); + +} diff --git a/main/java/com/canadiangamer/randommod/core/init/ContainerTypeInit.java b/main/java/com/canadiangamer/randommod/core/init/ContainerTypeInit.java new file mode 100644 index 0000000..a1378fa --- /dev/null +++ b/main/java/com/canadiangamer/randommod/core/init/ContainerTypeInit.java @@ -0,0 +1,5 @@ +package com.canadiangamer.randommod.core.init; + +public class ContainerTypeInit { + +} diff --git a/main/java/com/canadiangamer/randommod/core/init/EnchantmentInit.java b/main/java/com/canadiangamer/randommod/core/init/EnchantmentInit.java new file mode 100644 index 0000000..89b3b3e --- /dev/null +++ b/main/java/com/canadiangamer/randommod/core/init/EnchantmentInit.java @@ -0,0 +1,5 @@ +package com.canadiangamer.randommod.core.init; + +public class EnchantmentInit { + +} diff --git a/main/java/com/canadiangamer/randommod/core/init/EntityTypeInit.java b/main/java/com/canadiangamer/randommod/core/init/EntityTypeInit.java new file mode 100644 index 0000000..8f5feaf --- /dev/null +++ b/main/java/com/canadiangamer/randommod/core/init/EntityTypeInit.java @@ -0,0 +1,5 @@ +package com.canadiangamer.randommod.core.init; + +public class EntityTypeInit { + +} diff --git a/main/java/com/canadiangamer/randommod/core/init/ItemInit.java b/main/java/com/canadiangamer/randommod/core/init/ItemInit.java new file mode 100644 index 0000000..61329e2 --- /dev/null +++ b/main/java/com/canadiangamer/randommod/core/init/ItemInit.java @@ -0,0 +1,26 @@ +package com.canadiangamer.randommod.core.init; + +import com.canadiangamer.randommod.RandomMod; + +import net.minecraft.item.BlockItem; +import net.minecraft.item.Item; +import net.minecraftforge.fml.RegistryObject; +import net.minecraftforge.registries.DeferredRegister; +import net.minecraftforge.registries.ForgeRegistries; + +public class ItemInit { + +public static final DeferredRegister ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, + RandomMod.MOD_ID); +//Items + public static final RegistryObject RANDOM_INGOT = ITEMS.register("random_ingot", + () -> new Item(new Item.Properties().group(RandomMod.RANDOM_GROUP))); + + // Block Items + public static final RegistryObject RANDOM_BLOCK = ITEMS.register("random_block", + () -> new BlockItem(BlockInit.RANDOM_BLOCK.get(), + new Item.Properties().group(RandomMod.RANDOM_GROUP))); + + public static final RegistryObject RANDOM_ORE = ITEMS.register("random_ore", + () -> new BlockItem(BlockInit.RANDOM_ORE.get(), new Item.Properties().group(RandomMod.RANDOM_GROUP))); +} diff --git a/main/java/com/canadiangamer/randommod/core/init/PotionInit.java b/main/java/com/canadiangamer/randommod/core/init/PotionInit.java new file mode 100644 index 0000000..436ab26 --- /dev/null +++ b/main/java/com/canadiangamer/randommod/core/init/PotionInit.java @@ -0,0 +1,5 @@ +package com.canadiangamer.randommod.core.init; + +public class PotionInit { + +} diff --git a/main/java/com/canadiangamer/randommod/core/init/TileEntityTypeInit.java b/main/java/com/canadiangamer/randommod/core/init/TileEntityTypeInit.java new file mode 100644 index 0000000..4b7e284 --- /dev/null +++ b/main/java/com/canadiangamer/randommod/core/init/TileEntityTypeInit.java @@ -0,0 +1,5 @@ +package com.canadiangamer.randommod.core.init; + +public class TileEntityTypeInit { + +} diff --git a/main/java/com/canadiangamer/randommod/init/ModBlocks.java b/main/java/com/canadiangamer/randommod/init/ModBlocks.java new file mode 100644 index 0000000..67fdcf5 --- /dev/null +++ b/main/java/com/canadiangamer/randommod/init/ModBlocks.java @@ -0,0 +1,24 @@ +package com.canadiangamer.randommod.init; + +import java.util.ArrayList; +import java.util.List; + +import com.canadiangamer.randommod.blocks.BlockBase; +import com.canadiangamer.randommod.blocks.BlockTowelHanger; +import com.canadiangamer.randommod.blocks.RandomBlock; +import com.canadiangamer.randommod.blocks.RandomOre; + + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; + +public class ModBlocks +{ + public static final List BLOCKS = new ArrayList(); + + //Blocks + public static final Block RANDOM_BLOCK = new RandomBlock("random_block", Material.IRON); + public static final Block RANDOM_ORE = new RandomOre("random_ore", Material.ROCK); + public static final Block TOWEL_HANGER = new BlockTowelHanger("towel_hanger", Material.CLOTH); +; +} diff --git a/main/java/com/canadiangamer/randommod/init/ModItems.java b/main/java/com/canadiangamer/randommod/init/ModItems.java new file mode 100644 index 0000000..7381cfc --- /dev/null +++ b/main/java/com/canadiangamer/randommod/init/ModItems.java @@ -0,0 +1,63 @@ +package com.canadiangamer.randommod.init; + +import java.util.ArrayList; +import java.util.List; + +import com.canadiangamer.randommod.items.ItemBase; +import com.canadiangamer.randommod.items.armor.ArmorBase; +import com.canadiangamer.randommod.items.food.FoodBase; +import com.canadiangamer.randommod.items.food.FoodEffectBase; +import com.canadiangamer.randommod.items.tools.ToolAxe; +import com.canadiangamer.randommod.items.tools.ToolHoe; +import com.canadiangamer.randommod.items.tools.ToolPickaxe; +import com.canadiangamer.randommod.items.tools.ToolSpade; +import com.canadiangamer.randommod.items.tools.ToolSword; +import com.canadiangamer.randommod.util.Reference; + +import net.minecraft.init.MobEffects; +import net.minecraft.init.SoundEvents; +import net.minecraft.inventory.EntityEquipmentSlot; +import net.minecraft.item.Item; +import net.minecraft.item.Item.ToolMaterial; +import net.minecraft.item.ItemArmor.ArmorMaterial; +import net.minecraft.item.ItemAxe; +import net.minecraft.item.ItemHoe; +import net.minecraft.item.ItemPickaxe; +import net.minecraft.item.ItemSpade; +import net.minecraft.item.ItemSword; +import net.minecraft.potion.PotionEffect; +import net.minecraftforge.common.util.EnumHelper; + +public class ModItems +{ + + //Material + public static final ToolMaterial MATERIAL_RANDOM_INGOT = EnumHelper.addToolMaterial("material_random_ingot", 3, 43353645, 10.0f, 900.0f, 20); + public static final ArmorMaterial ARMOR_MATERIAL_RANDOM_INGOT = EnumHelper.addArmorMaterial("armour_material_random_ingot", Reference.MOD_ID + ":random_ingot", 50, new int[] {27, 28, 29, 30}, 20, SoundEvents.ITEM_ARMOR_EQUIP_DIAMOND, 0.0F); + + + //Items + public static final List ITEMS = new ArrayList(); + + public static final Item RANDOM_INGOT = new ItemBase ("random_ingot"); + + //Tools + public static final ItemSword RANDOM_SWORD = new ToolSword("random_sword", MATERIAL_RANDOM_INGOT); + public static final ItemSpade RANDOM_SHOVEL = new ToolSpade("random_shovel", MATERIAL_RANDOM_INGOT); + public static final ItemPickaxe RANDOM_PICKAXE = new ToolPickaxe("random_pickaxe", MATERIAL_RANDOM_INGOT); + public static final ItemAxe RANDOM_AXE = new ToolAxe("random_axe", MATERIAL_RANDOM_INGOT); + public static final ItemHoe RANDOM_HOE = new ToolHoe("random_hoe", MATERIAL_RANDOM_INGOT); + + //Armor + public static final Item RANDOM_HELMET = new ArmorBase("random_helmet", ARMOR_MATERIAL_RANDOM_INGOT, 1, EntityEquipmentSlot.HEAD); + public static final Item RANDOM_CHESTPLATE = new ArmorBase("random_chestplate", ARMOR_MATERIAL_RANDOM_INGOT, 1, EntityEquipmentSlot.CHEST); + public static final Item RANDOM_LEGGINGS = new ArmorBase("random_leggings", ARMOR_MATERIAL_RANDOM_INGOT, 2, EntityEquipmentSlot.LEGS); + public static final Item RANDOM_BOOTS = new ArmorBase("random_boots", ARMOR_MATERIAL_RANDOM_INGOT, 1, EntityEquipmentSlot.FEET); + + //Food + //public static final Item RANDOM_MEAT_RAW = new FoodBase("random_meat_raw", 8, 4.2f, false); + //public static final Item RANDOM_MEAT_COOKED = new FoodBase("random_meat_cooked", 16, 5.2f, false); + public static final Item RANDOM_MEAT_RAW = new FoodEffectBase("random_meat_raw", 8, 4.2f, false, new PotionEffect(MobEffects.SLOWNESS, (60*20), 2, false, true)); + public static final Item RANDOM_MEAT_COOKED = new FoodEffectBase("random_meat_cooked", 16, 5.2f, false, new PotionEffect(MobEffects.SPEED, 2*(60*20), 4, false, true)); +} + \ No newline at end of file diff --git a/main/java/com/canadiangamer/randommod/init/ModRecipes.java b/main/java/com/canadiangamer/randommod/init/ModRecipes.java new file mode 100644 index 0000000..7c6d3d2 --- /dev/null +++ b/main/java/com/canadiangamer/randommod/init/ModRecipes.java @@ -0,0 +1,13 @@ +package com.canadiangamer.randommod.init; + +import net.minecraft.item.ItemStack; +import net.minecraftforge.fml.common.registry.GameRegistry; + +public class ModRecipes { + + public static void init() { + GameRegistry.addSmelting(ModBlocks.RANDOM_BLOCK , new ItemStack(ModItems.RANDOM_INGOT, 9), 3.5f); + GameRegistry.addSmelting(ModBlocks.RANDOM_ORE , new ItemStack(ModItems.RANDOM_INGOT, 1), 6.5f); + GameRegistry.addSmelting(ModItems.RANDOM_MEAT_RAW , new ItemStack(ModItems.RANDOM_MEAT_COOKED, 1), 6.5f); + } +} diff --git a/main/java/com/canadiangamer/randommod/items/ItemBase.java b/main/java/com/canadiangamer/randommod/items/ItemBase.java new file mode 100644 index 0000000..c0b492e --- /dev/null +++ b/main/java/com/canadiangamer/randommod/items/ItemBase.java @@ -0,0 +1,27 @@ +package com.canadiangamer.randommod.items; + +import com.canadiangamer.randommod.Main; +import com.canadiangamer.randommod.init.ModItems; +import com.canadiangamer.randommod.util.IHasModel; + +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; + +public class ItemBase extends Item implements IHasModel { + + public ItemBase(String name) + { + setUnlocalizedName(name); + setRegistryName(name); + setCreativeTab(Main.randomtab); + + ModItems.ITEMS.add(this); + } + + @Override + public void registerModels() + { + Main.proxy.registerItemRenderer(this,0,"inventory"); + } + +} diff --git a/main/java/com/canadiangamer/randommod/items/armor/ArmorBase.java b/main/java/com/canadiangamer/randommod/items/armor/ArmorBase.java new file mode 100644 index 0000000..4013bc1 --- /dev/null +++ b/main/java/com/canadiangamer/randommod/items/armor/ArmorBase.java @@ -0,0 +1,28 @@ +package com.canadiangamer.randommod.items.armor; + +import com.canadiangamer.randommod.Main; +import com.canadiangamer.randommod.init.ModItems; +import com.canadiangamer.randommod.util.IHasModel; + +import net.minecraft.inventory.EntityEquipmentSlot; +import net.minecraft.item.ItemArmor; + +public class ArmorBase extends ItemArmor implements IHasModel{ + + public ArmorBase(String name,ArmorMaterial materialIn, int renderIndexIn, EntityEquipmentSlot equipmentSlotIn) { + super(materialIn, renderIndexIn, equipmentSlotIn); + setUnlocalizedName(name); + setRegistryName(name); + setCreativeTab(Main.randomtab); + + ModItems.ITEMS.add(this); + } + + @Override + public void registerModels() + { + Main.proxy.registerItemRenderer(this,0,"inventory"); + } + + +} diff --git a/main/java/com/canadiangamer/randommod/items/food/FoodBase.java b/main/java/com/canadiangamer/randommod/items/food/FoodBase.java new file mode 100644 index 0000000..3c3a1b6 --- /dev/null +++ b/main/java/com/canadiangamer/randommod/items/food/FoodBase.java @@ -0,0 +1,28 @@ +package com.canadiangamer.randommod.items.food; + +import com.canadiangamer.randommod.Main; +import com.canadiangamer.randommod.init.ModItems; +import com.canadiangamer.randommod.util.IHasModel; + +import net.minecraft.item.ItemFood; + +public class FoodBase extends ItemFood implements IHasModel +{ + + public FoodBase(String name, int amount, float saturation, boolean isAnimalFood) + { + super(amount, saturation, isAnimalFood); + setUnlocalizedName(name); + setRegistryName(name); + setCreativeTab(Main.randomtab); + + ModItems.ITEMS.add(this); + } + + @Override + public void registerModels() + { + Main.proxy.registerItemRenderer(this,0,"inventory"); + + } +} diff --git a/main/java/com/canadiangamer/randommod/items/food/FoodEffectBase.java b/main/java/com/canadiangamer/randommod/items/food/FoodEffectBase.java new file mode 100644 index 0000000..00b760c --- /dev/null +++ b/main/java/com/canadiangamer/randommod/items/food/FoodEffectBase.java @@ -0,0 +1,36 @@ +package com.canadiangamer.randommod.items.food; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.potion.PotionEffect; +import net.minecraft.world.World; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; + +public class FoodEffectBase extends FoodBase +{ + + PotionEffect effect; + + public FoodEffectBase(String name, int amount, float saturation, boolean isAnimalFood, PotionEffect effect) + { + super(name, amount, saturation, isAnimalFood); + setAlwaysEdible(); + + this.effect = effect; + } + @Override + protected void onFoodEaten(ItemStack stack, World worldIn, EntityPlayer player) + { + if(!worldIn.isRemote) { + player.addPotionEffect(new PotionEffect(effect.getPotion(), effect.getDuration(), effect.getAmplifier(), effect.getIsAmbient(), effect.doesShowParticles())); + } + } + + @SideOnly(Side.CLIENT) + public boolean hasEffect(ItemStack stack) + { + return true; + } + +} diff --git a/main/java/com/canadiangamer/randommod/items/tools/ToolAxe.java b/main/java/com/canadiangamer/randommod/items/tools/ToolAxe.java new file mode 100644 index 0000000..760136a --- /dev/null +++ b/main/java/com/canadiangamer/randommod/items/tools/ToolAxe.java @@ -0,0 +1,27 @@ +package com.canadiangamer.randommod.items.tools; + +import com.canadiangamer.randommod.Main; +import com.canadiangamer.randommod.init.ModItems; +import com.canadiangamer.randommod.util.IHasModel; + +import net.minecraft.item.ItemAxe; +import net.minecraft.item.Item.ToolMaterial; + +public class ToolAxe extends ItemAxe implements IHasModel{ + + public ToolAxe(String name, ToolMaterial material) + { + super(material, 8.0F, -3.0F ); + setUnlocalizedName(name); + setRegistryName(name); + setCreativeTab(Main.randomtab); + + ModItems.ITEMS.add(this); + } + + @Override + public void registerModels() + { + Main.proxy.registerItemRenderer(this,0,"inventory"); + } +} diff --git a/main/java/com/canadiangamer/randommod/items/tools/ToolHoe.java b/main/java/com/canadiangamer/randommod/items/tools/ToolHoe.java new file mode 100644 index 0000000..9824d55 --- /dev/null +++ b/main/java/com/canadiangamer/randommod/items/tools/ToolHoe.java @@ -0,0 +1,27 @@ +package com.canadiangamer.randommod.items.tools; + +import com.canadiangamer.randommod.Main; +import com.canadiangamer.randommod.init.ModItems; +import com.canadiangamer.randommod.util.IHasModel; + +import net.minecraft.item.ItemHoe; +import net.minecraft.item.Item.ToolMaterial; + +public class ToolHoe extends ItemHoe implements IHasModel{ + + public ToolHoe(String name, ToolMaterial material) + { + super(material); + setUnlocalizedName(name); + setRegistryName(name); + setCreativeTab(Main.randomtab); + + ModItems.ITEMS.add(this); + } + + @Override + public void registerModels() + { + Main.proxy.registerItemRenderer(this,0,"inventory"); + } +} diff --git a/main/java/com/canadiangamer/randommod/items/tools/ToolPickaxe.java b/main/java/com/canadiangamer/randommod/items/tools/ToolPickaxe.java new file mode 100644 index 0000000..efc9126 --- /dev/null +++ b/main/java/com/canadiangamer/randommod/items/tools/ToolPickaxe.java @@ -0,0 +1,30 @@ +package com.canadiangamer.randommod.items.tools; + +import com.canadiangamer.randommod.Main; +import com.canadiangamer.randommod.init.ModItems; +import com.canadiangamer.randommod.util.IHasModel; + +import net.minecraft.item.Item.ToolMaterial; +import net.minecraft.item.ItemPickaxe; + +public class ToolPickaxe extends ItemPickaxe implements IHasModel { + + + + public ToolPickaxe(String name, ToolMaterial material) + { + super(material); + setUnlocalizedName(name); + setRegistryName(name); + setCreativeTab(Main.randomtab); + + ModItems.ITEMS.add(this); + } + + @Override + public void registerModels() + { + Main.proxy.registerItemRenderer(this,0,"inventory"); + } + +} diff --git a/main/java/com/canadiangamer/randommod/items/tools/ToolSpade.java b/main/java/com/canadiangamer/randommod/items/tools/ToolSpade.java new file mode 100644 index 0000000..c8095d4 --- /dev/null +++ b/main/java/com/canadiangamer/randommod/items/tools/ToolSpade.java @@ -0,0 +1,28 @@ +package com.canadiangamer.randommod.items.tools; + +import com.canadiangamer.randommod.Main; +import com.canadiangamer.randommod.init.ModItems; +import com.canadiangamer.randommod.util.IHasModel; + +import net.minecraft.item.ItemSpade; +import net.minecraft.item.Item.ToolMaterial; + +public class ToolSpade extends ItemSpade implements IHasModel{ + + public ToolSpade(String name, ToolMaterial material) + + { + super(material); + setUnlocalizedName(name); + setRegistryName(name); + setCreativeTab(Main.randomtab); + + ModItems.ITEMS.add(this); + } + + @Override + public void registerModels() + { + Main.proxy.registerItemRenderer(this,0,"inventory"); + } +} diff --git a/main/java/com/canadiangamer/randommod/items/tools/ToolSword.java b/main/java/com/canadiangamer/randommod/items/tools/ToolSword.java new file mode 100644 index 0000000..3533f77 --- /dev/null +++ b/main/java/com/canadiangamer/randommod/items/tools/ToolSword.java @@ -0,0 +1,26 @@ +package com.canadiangamer.randommod.items.tools; + +import com.canadiangamer.randommod.Main; +import com.canadiangamer.randommod.init.ModItems; +import com.canadiangamer.randommod.util.IHasModel; + +import net.minecraft.item.ItemSword; + +public class ToolSword extends ItemSword implements IHasModel { + + public ToolSword(String name, ToolMaterial material) + { + super(material); + setUnlocalizedName(name); + setRegistryName(name); + setCreativeTab(Main.randomtab); + + ModItems.ITEMS.add(this); + } + + @Override + public void registerModels() + { + Main.proxy.registerItemRenderer(this,0,"inventory"); + } +} diff --git a/main/java/com/canadiangamer/randommod/proxy/ClientProxy.java b/main/java/com/canadiangamer/randommod/proxy/ClientProxy.java new file mode 100644 index 0000000..5402774 --- /dev/null +++ b/main/java/com/canadiangamer/randommod/proxy/ClientProxy.java @@ -0,0 +1,16 @@ +package com.canadiangamer.randommod.proxy; + +import net.minecraft.client.renderer.block.model.ModelResourceLocation; +import net.minecraft.item.Item; +import net.minecraftforge.client.model.ModelLoader; + +public class ClientProxy extends CommonProxy +{ + public void registerItemRenderer(Item item, int meta, String id) +{ + ModelLoader.setCustomModelResourceLocation(item, meta, new ModelResourceLocation (item.getRegistryName(), id)); +} + + +} + diff --git a/main/java/com/canadiangamer/randommod/proxy/CommonProxy.java b/main/java/com/canadiangamer/randommod/proxy/CommonProxy.java new file mode 100644 index 0000000..87ec327 --- /dev/null +++ b/main/java/com/canadiangamer/randommod/proxy/CommonProxy.java @@ -0,0 +1,8 @@ + package com.canadiangamer.randommod.proxy; + +import net.minecraft.item.Item; + +public class CommonProxy +{ + public void registerItemRenderer(Item item, int meta, String id) {} +} diff --git a/main/java/com/canadiangamer/randommod/tabs/RandomTab.java b/main/java/com/canadiangamer/randommod/tabs/RandomTab.java new file mode 100644 index 0000000..a2497c2 --- /dev/null +++ b/main/java/com/canadiangamer/randommod/tabs/RandomTab.java @@ -0,0 +1,15 @@ +package com.canadiangamer.randommod.tabs; + +import com.canadiangamer.randommod.init.ModBlocks; + +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +public class RandomTab extends CreativeTabs +{ +public RandomTab(String label ) {super("randommod"); + this.setBackgroundImageName("randommod.png");} +public ItemStack getTabIconItem() { return new ItemStack(Item.getItemFromBlock(ModBlocks.RANDOM_BLOCK));} + +} diff --git a/main/java/com/canadiangamer/randommod/util/IHasModel.java b/main/java/com/canadiangamer/randommod/util/IHasModel.java new file mode 100644 index 0000000..4d711b3 --- /dev/null +++ b/main/java/com/canadiangamer/randommod/util/IHasModel.java @@ -0,0 +1,6 @@ +package com.canadiangamer.randommod.util; + +public interface IHasModel +{ + public void registerModels(); +} diff --git a/main/java/com/canadiangamer/randommod/util/Reference.java b/main/java/com/canadiangamer/randommod/util/Reference.java new file mode 100644 index 0000000..3908e08 --- /dev/null +++ b/main/java/com/canadiangamer/randommod/util/Reference.java @@ -0,0 +1,15 @@ +package com.canadiangamer.randommod.util; + +public class Reference { + + public static final String MOD_ID = "rm"; + public static final String NAME = "Random Mod"; + public static final String VERSION = "1.0"; + public static final String ACCEPTED_VERSIONS = "[1.12.2]"; + public static final String CLIENT_PROXY_CLASS = "com.canadiangamer.randommod.proxy.ClientProxy"; + public static final String COMMON_PROXY_CLASS = "com.canadiangamer.randommod.proxy.CommonProxy"; + + public static final int ENTITY_TIMMY = 120; + } + + \ No newline at end of file diff --git a/main/java/com/canadiangamer/randommod/util/handlers/RegistryHandler.java b/main/java/com/canadiangamer/randommod/util/handlers/RegistryHandler.java new file mode 100644 index 0000000..f3979e9 --- /dev/null +++ b/main/java/com/canadiangamer/randommod/util/handlers/RegistryHandler.java @@ -0,0 +1,56 @@ +package com.canadiangamer.randommod.util.handlers; + +import com.canadiangamer.randommod.init.ModBlocks; +import com.canadiangamer.randommod.init.ModItems; +import com.canadiangamer.randommod.util.IHasModel; + +import net.minecraft.block.Block; +import net.minecraft.item.Item; +import net.minecraftforge.client.event.ModelRegistryEvent; +import net.minecraftforge.event.RegistryEvent; +import net.minecraftforge.fml.common.Mod.EventBusSubscriber; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; + +@EventBusSubscriber +public class RegistryHandler +{ + @SubscribeEvent + public static void onItemRegister(RegistryEvent.Register event) + { + event.getRegistry().registerAll(ModItems.ITEMS.toArray(new Item[0])); + } + + @SubscribeEvent + public static void onBlockRegister(RegistryEvent.Register event) + { + event.getRegistry().registerAll(ModBlocks.BLOCKS.toArray(new Block[0])); + } + + + + + @SubscribeEvent + public static void onModelRegister(ModelRegistryEvent event) + { + for(Item item : ModItems.ITEMS) + { + if(item instanceof IHasModel ) + { + ((IHasModel)item).registerModels(); + } + } + + for(Block block : ModBlocks.BLOCKS) + { + if(block instanceof IHasModel ) + { + ((IHasModel)block).registerModels(); + } + } + + + + + + } +} diff --git a/main/java/com/canadiangamer/randommod/world/ModWorldGen.java b/main/java/com/canadiangamer/randommod/world/ModWorldGen.java new file mode 100644 index 0000000..7da45a6 --- /dev/null +++ b/main/java/com/canadiangamer/randommod/world/ModWorldGen.java @@ -0,0 +1,41 @@ +package com.canadiangamer.randommod.world; + +import java.util.Random; + +import com.canadiangamer.randommod.init.ModBlocks; + +import net.minecraft.block.state.IBlockState; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; +import net.minecraft.world.chunk.IChunkProvider; +import net.minecraft.world.gen.IChunkGenerator; +import net.minecraft.world.gen.feature.WorldGenMinable; +import net.minecraftforge.fml.common.IWorldGenerator; + +public class ModWorldGen implements IWorldGenerator { + + @Override + public void generate(Random random, int chunkX, int chunkZ, World world, IChunkGenerator chunkGenerator, IChunkProvider chunkProvider) + { + if(world.provider.getDimension() == 0) { + generateOverworld(random, chunkX, chunkZ, world, chunkGenerator, chunkProvider); + } + } + + private void generateOverworld (Random random, int chunkX, int chunkZ, World world, IChunkGenerator chunkgenerator, IChunkProvider chunkprovider) + { + generateOre(ModBlocks.RANDOM_ORE.getDefaultState(), world, random, chunkX * 16, chunkZ * 16, 16, 64, random.nextInt(7) + 4, 6); + } + + private void generateOre(IBlockState ore, World world, Random random, int x, int z, int minY, int maxY, int size, int chances) + { + int deltaY = maxY - minY; + + for (int i = 0; i < chances; i++) { + BlockPos pos = new BlockPos(x + random.nextInt(16), minY + random.nextInt(deltaY), z + random.nextInt(16)); + + WorldGenMinable generator = new WorldGenMinable(ore, size); + generator.generate(world, random, pos); + } + } +} diff --git a/main/java/com/canadiangamer/randommod/world/OreGeneration.java b/main/java/com/canadiangamer/randommod/world/OreGeneration.java new file mode 100644 index 0000000..1b5ab25 --- /dev/null +++ b/main/java/com/canadiangamer/randommod/world/OreGeneration.java @@ -0,0 +1,33 @@ +package com.canadiangamer.randommod.world; + +import com.canadiangamer.randommod.core.init.BlockInit; + +import net.minecraft.block.BlockState; +import net.minecraft.world.biome.Biome; +import net.minecraft.world.gen.GenerationStage; +import net.minecraft.world.gen.feature.Feature; +import net.minecraft.world.gen.feature.OreFeatureConfig; +import net.minecraft.world.gen.feature.template.RuleTest; +import net.minecraft.world.gen.placement.Placement; +import net.minecraft.world.gen.placement.TopSolidRangeConfig; +import net.minecraftforge.common.world.BiomeGenerationSettingsBuilder; +import net.minecraftforge.event.world.BiomeLoadingEvent; + +public class OreGeneration { + + + public static void generateOres(final BiomeLoadingEvent event) { + if (!(event.getCategory().equals(Biome.Category.NETHER) || event.getCategory().equals(Biome.Category.THEEND))) { + generateOre(event.getGeneration(), OreFeatureConfig.FillerBlockType.BASE_STONE_OVERWORLD, + BlockInit.RANDOM_ORE.get().getDefaultState(), 5, 15, 30, 10); + } + } + + private static void generateOre(BiomeGenerationSettingsBuilder settings, RuleTest fillerType, BlockState state, + int veinSize, int minHeight, int maxHeight, int amount) { + settings.withFeature(GenerationStage.Decoration.UNDERGROUND_ORES, + Feature.ORE.withConfiguration(new OreFeatureConfig(fillerType, state, veinSize)) + .withPlacement(Placement.RANGE.configure(new TopSolidRangeConfig(minHeight, 0, maxHeight))) + .square().func_242731_b(amount)); + } +} diff --git a/main/resources/META-INF/mods.toml b/main/resources/META-INF/mods.toml new file mode 100644 index 0000000..b2d934d --- /dev/null +++ b/main/resources/META-INF/mods.toml @@ -0,0 +1,16 @@ + +modLoader="javafml" #mandatory +loaderVersion="[35,)" +license="All rights reserved" + +[[mods]] +modId="rm" #mandatory +version="2.0" +displayName="Random Mod" +displayURL="https://www.curseforge.com/minecraft/mc-mods/random-mod-by-easycanadiangamer" +logoFile="examplemod.png" +credits="Thank you to my Subscribers!" +authors="Canadian Gamer!" +description=''' +An random mod. +''' diff --git a/main/resources/assets/minecraft/textures/gui/container/creative_inventory/tab_randommod.png b/main/resources/assets/minecraft/textures/gui/container/creative_inventory/tab_randommod.png new file mode 100644 index 0000000..2b6fbb9 Binary files /dev/null and b/main/resources/assets/minecraft/textures/gui/container/creative_inventory/tab_randommod.png differ diff --git a/main/resources/assets/rm/blockstates/random_block.json b/main/resources/assets/rm/blockstates/random_block.json new file mode 100644 index 0000000..ecb39fe --- /dev/null +++ b/main/resources/assets/rm/blockstates/random_block.json @@ -0,0 +1,5 @@ +{ + "variants": { + "": { "model": "rm:block/random_block" } + } +} \ No newline at end of file diff --git a/main/resources/assets/rm/blockstates/random_ore.json b/main/resources/assets/rm/blockstates/random_ore.json new file mode 100644 index 0000000..c6d6c77 --- /dev/null +++ b/main/resources/assets/rm/blockstates/random_ore.json @@ -0,0 +1,5 @@ +{ + "variants": { + "": { "model": "rm:block/random_ore" } + } +} \ No newline at end of file diff --git a/main/resources/assets/rm/blockstates/towel_hanger.json b/main/resources/assets/rm/blockstates/towel_hanger.json new file mode 100644 index 0000000..3918ea3 --- /dev/null +++ b/main/resources/assets/rm/blockstates/towel_hanger.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "rm:towel_hanger" } + } +} \ No newline at end of file diff --git a/main/resources/assets/rm/lang/en_us.json b/main/resources/assets/rm/lang/en_us.json new file mode 100644 index 0000000..d942387 --- /dev/null +++ b/main/resources/assets/rm/lang/en_us.json @@ -0,0 +1,5 @@ +{ +"item.rm.random_ingot": "Random Ingot", +"block.rm.random_block": "Random Block", +"block.rm.random_ore": "Random Ore" +} \ No newline at end of file diff --git a/main/resources/assets/rm/lang/en_us.lang b/main/resources/assets/rm/lang/en_us.lang new file mode 100644 index 0000000..5555154 --- /dev/null +++ b/main/resources/assets/rm/lang/en_us.lang @@ -0,0 +1,33 @@ +//Items +item.random_ingot.name=Random Ingot + +//Blocks +tile.random_block.name=Block of Random + +tile.towel_hanger.name=Towel Hanger + +tile.random_ore.name=Random Ore +//Tabs +itemGroup.randommod=Random mod + +//Tools +item.random_sword.name=Random Sword +item.random_shovel.name=Random Shovel +item.random_pickaxe.name=Random Pickaxe +item.random_axe.name=Random Axe +item.random_hoe.name=Random Hoe + +//Armor +item.random_helmet.name=Random Helmet +item.random_chestplate.name=Random Chestplate +item.random_leggings.name=Random Leggings +item.random_boots.name=Random Boots +item.stone_helmet.name=Stone Helmet +item.stone_chestplate.name=Stone Chestplate +item.stone_leggings.name=Stone Leggings +item.stone_boots.name=Stone Boots + + +//Food +item.random_meat_raw.name=Random Meat Raw +item.random_meat_cooked.name=Random Meat Cooked \ No newline at end of file diff --git a/main/resources/assets/rm/models/block/random_block.json b/main/resources/assets/rm/models/block/random_block.json new file mode 100644 index 0000000..d2b6e76 --- /dev/null +++ b/main/resources/assets/rm/models/block/random_block.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "rm:blocks/random_block" + } +} \ No newline at end of file diff --git a/main/resources/assets/rm/models/block/random_ore.json b/main/resources/assets/rm/models/block/random_ore.json new file mode 100644 index 0000000..8f57e26 --- /dev/null +++ b/main/resources/assets/rm/models/block/random_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "rm:blocks/random_ore" + } +} \ No newline at end of file diff --git a/main/resources/assets/rm/models/block/towel_hanger.json b/main/resources/assets/rm/models/block/towel_hanger.json new file mode 100644 index 0000000..5451b89 --- /dev/null +++ b/main/resources/assets/rm/models/block/towel_hanger.json @@ -0,0 +1,426 @@ +{ + "__comment": "Model generated using MrCrayfish's Model Creator (http://mrcrayfish.com/modelcreator/)", + "textures": { + "0": "blocks/concrete_blue", + "1": "blocks/concrete_white", + "2": "blocks/concrete_gray" + }, + "elements": [ + { + "name": "Cube", + "from": [ 3.0, 0.0, 5.0 ], + "to": [ 4.0, 13.0, 6.0 ], + "faces": { + "north": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "east": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "south": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "west": { "texture": "#0", "uv": [ 0.0, 0.0, -9.0, 10.0 ] }, + "up": { "texture": "#0", "uv": [ 0.0, 0.0, 5.0, -1.0 ] }, + "down": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 4.0, 0.0, 5.0 ], + "to": [ 5.0, 13.0, 6.0 ], + "faces": { + "north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 10.0, 0.0, 5.0 ], + "to": [ 11.0, 13.0, 6.0 ], + "faces": { + "north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 5.0, 0.0, 5.0 ], + "to": [ 6.0, 13.0, 6.0 ], + "faces": { + "north": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "east": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "south": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "west": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "up": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 6.0, 0.0, 5.0 ], + "to": [ 7.0, 13.0, 6.0 ], + "faces": { + "north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 7.0, 0.0, 5.0 ], + "to": [ 8.0, 13.0, 6.0 ], + "faces": { + "north": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "east": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "south": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "west": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "up": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 8.0, 0.0, 5.0 ], + "to": [ 9.0, 13.0, 6.0 ], + "faces": { + "north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 9.0, 0.0, 5.0 ], + "to": [ 10.0, 13.0, 6.0 ], + "faces": { + "north": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "east": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "south": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "west": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "up": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 2.0, 11.0, 4.0 ], + "to": [ 13.0, 12.0, 5.0 ], + "faces": { + "north": { "texture": "#2", "uv": [ 0.0, 0.0, 11.0, 1.0 ] }, + "east": { "texture": "#2", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "south": { "texture": "#2", "uv": [ 0.0, 0.0, -16.0, -38.0 ] }, + "west": { "texture": "#2", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "up": { "texture": "#2", "uv": [ 0.0, 0.0, 11.0, 1.0 ] }, + "down": { "texture": "#2", "uv": [ 0.0, 0.0, 11.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 12.0, 11.0, 0.0 ], + "to": [ 13.0, 12.0, 4.0 ], + "faces": { + "north": { "texture": "#2", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "east": { "texture": "#2", "uv": [ 0.0, 0.0, 4.0, -55.0 ] }, + "south": { "texture": "#2", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "west": { "texture": "#2", "uv": [ 0.0, 0.0, 4.0, 1.0 ] }, + "up": { "texture": "#2", "uv": [ 0.0, 0.0, -1.0, 1.0 ] }, + "down": { "texture": "#2", "uv": [ 0.0, 0.0, 1.0, 4.0 ] } + } + }, + { + "name": "Cube", + "from": [ 9.0, 10.0, 3.0 ], + "to": [ 10.0, 13.0, 4.0 ], + "faces": { + "north": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "east": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "south": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "west": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "up": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 8.0, 10.0, 3.0 ], + "to": [ 9.0, 13.0, 4.0 ], + "faces": { + "north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 2.0 ] }, + "down": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 11.0, 0.0, 5.0 ], + "to": [ 12.0, 13.0, 6.0 ], + "faces": { + "north": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "east": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "south": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "west": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "up": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 3.0, 10.0, 3.0 ], + "to": [ 4.0, 13.0, 4.0 ], + "faces": { + "north": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "east": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "south": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "west": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "up": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 11.0, 10.0, 3.0 ], + "to": [ 12.0, 13.0, 4.0 ], + "faces": { + "north": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "east": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "south": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "west": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "up": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 4.0, 10.0, 3.0 ], + "to": [ 5.0, 13.0, 4.0 ], + "faces": { + "north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 10.0, 10.0, 3.0 ], + "to": [ 11.0, 13.0, 4.0 ], + "faces": { + "north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 3.0, 12.0, 5.0 ], + "to": [ 4.0, 13.0, 6.0 ], + "faces": { + "north": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "east": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "south": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "west": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "up": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 7.0, 10.0, 3.0 ], + "to": [ 8.0, 13.0, 4.0 ], + "faces": { + "north": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "east": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "south": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "west": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "up": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 6.0, 10.0, 3.0 ], + "to": [ 7.0, 13.0, 4.0 ], + "faces": { + "north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 11.0, 12.0, 4.0 ], + "to": [ 12.0, 13.0, 5.0 ], + "faces": { + "north": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "east": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "south": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "west": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "up": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 10.0, 12.0, 4.0 ], + "to": [ 11.0, 13.0, 5.0 ], + "faces": { + "north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 9.0, 12.0, 4.0 ], + "to": [ 10.0, 13.0, 5.0 ], + "faces": { + "north": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "east": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "south": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "west": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "up": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 8.0, 12.0, 4.0 ], + "to": [ 9.0, 13.0, 5.0 ], + "faces": { + "north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 7.0, 12.0, 4.0 ], + "to": [ 8.0, 13.0, 5.0 ], + "faces": { + "north": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "east": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "south": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "west": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "up": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 6.0, 12.0, 4.0 ], + "to": [ 7.0, 13.0, 5.0 ], + "faces": { + "north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 5.0, 12.0, 4.0 ], + "to": [ 6.0, 13.0, 5.0 ], + "faces": { + "north": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "east": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "south": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "west": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "up": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 4.0, 12.0, 4.0 ], + "to": [ 5.0, 13.0, 5.0 ], + "faces": { + "north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 3.0, 0.0, 5.0 ], + "to": [ 4.0, 13.0, 6.0 ], + "faces": { + "north": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "east": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "south": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "west": { "texture": "#0", "uv": [ 0.0, 0.0, -9.0, 10.0 ] }, + "up": { "texture": "#0", "uv": [ 0.0, 0.0, 5.0, -1.0 ] }, + "down": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 5.0, 10.0, 3.0 ], + "to": [ 6.0, 13.0, 4.0 ], + "faces": { + "north": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "east": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "south": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "west": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "up": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 3.0, 12.0, 4.0 ], + "to": [ 4.0, 13.0, 5.0 ], + "faces": { + "north": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "east": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "south": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "west": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "up": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 2.0, 11.0, 0.0 ], + "to": [ 3.0, 12.0, 4.0 ], + "faces": { + "north": { "texture": "#2", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "east": { "texture": "#2", "uv": [ 0.0, 0.0, 4.0, 1.0 ] }, + "south": { "texture": "#2", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "west": { "texture": "#2", "uv": [ 0.0, 0.0, 4.0, 1.0 ] }, + "up": { "texture": "#2", "uv": [ 0.0, 0.0, 1.0, 4.0 ] }, + "down": { "texture": "#2", "uv": [ 0.0, 0.0, 1.0, 4.0 ] } + } + } + ] +} \ No newline at end of file diff --git a/main/resources/assets/rm/models/item/random_axe.json b/main/resources/assets/rm/models/item/random_axe.json new file mode 100644 index 0000000..f5e108c --- /dev/null +++ b/main/resources/assets/rm/models/item/random_axe.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "rm:items/random_axe" + } +} \ No newline at end of file diff --git a/main/resources/assets/rm/models/item/random_block.json b/main/resources/assets/rm/models/item/random_block.json new file mode 100644 index 0000000..19d7f4b --- /dev/null +++ b/main/resources/assets/rm/models/item/random_block.json @@ -0,0 +1,3 @@ +{ + "parent": "rm:block/random_block" +} \ No newline at end of file diff --git a/main/resources/assets/rm/models/item/random_boots.json b/main/resources/assets/rm/models/item/random_boots.json new file mode 100644 index 0000000..0481a0d --- /dev/null +++ b/main/resources/assets/rm/models/item/random_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "rm:items/random_boots" + } +} \ No newline at end of file diff --git a/main/resources/assets/rm/models/item/random_chestplate.json b/main/resources/assets/rm/models/item/random_chestplate.json new file mode 100644 index 0000000..e78e422 --- /dev/null +++ b/main/resources/assets/rm/models/item/random_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "rm:items/random_chestplate" + } +} \ No newline at end of file diff --git a/main/resources/assets/rm/models/item/random_helmet.json b/main/resources/assets/rm/models/item/random_helmet.json new file mode 100644 index 0000000..c9295d6 --- /dev/null +++ b/main/resources/assets/rm/models/item/random_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "rm:items/random_helmet" + } +} \ No newline at end of file diff --git a/main/resources/assets/rm/models/item/random_hoe.json b/main/resources/assets/rm/models/item/random_hoe.json new file mode 100644 index 0000000..1d6761b --- /dev/null +++ b/main/resources/assets/rm/models/item/random_hoe.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "rm:items/random_hoe" + } +} \ No newline at end of file diff --git a/main/resources/assets/rm/models/item/random_ingot.json b/main/resources/assets/rm/models/item/random_ingot.json new file mode 100644 index 0000000..26f9828 --- /dev/null +++ b/main/resources/assets/rm/models/item/random_ingot.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "rm:items/random_ingot" + } +} \ No newline at end of file diff --git a/main/resources/assets/rm/models/item/random_leggings.json b/main/resources/assets/rm/models/item/random_leggings.json new file mode 100644 index 0000000..d498407 --- /dev/null +++ b/main/resources/assets/rm/models/item/random_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "rm:items/random_leggings" + } +} \ No newline at end of file diff --git a/main/resources/assets/rm/models/item/random_meat_cooked.json b/main/resources/assets/rm/models/item/random_meat_cooked.json new file mode 100644 index 0000000..f90d982 --- /dev/null +++ b/main/resources/assets/rm/models/item/random_meat_cooked.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "rm:items/random_meat_cooked" + } +} \ No newline at end of file diff --git a/main/resources/assets/rm/models/item/random_meat_raw.json b/main/resources/assets/rm/models/item/random_meat_raw.json new file mode 100644 index 0000000..3b23f2c --- /dev/null +++ b/main/resources/assets/rm/models/item/random_meat_raw.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "rm:items/random_meat_raw" + } +} \ No newline at end of file diff --git a/main/resources/assets/rm/models/item/random_ore.json b/main/resources/assets/rm/models/item/random_ore.json new file mode 100644 index 0000000..d0d80c1 --- /dev/null +++ b/main/resources/assets/rm/models/item/random_ore.json @@ -0,0 +1,3 @@ +{ + "parent": "rm:block/random_ore" +} \ No newline at end of file diff --git a/main/resources/assets/rm/models/item/random_pickaxe.json b/main/resources/assets/rm/models/item/random_pickaxe.json new file mode 100644 index 0000000..cc74aae --- /dev/null +++ b/main/resources/assets/rm/models/item/random_pickaxe.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "rm:items/random_pickaxe" + } +} \ No newline at end of file diff --git a/main/resources/assets/rm/models/item/random_shovel.json b/main/resources/assets/rm/models/item/random_shovel.json new file mode 100644 index 0000000..a1498d1 --- /dev/null +++ b/main/resources/assets/rm/models/item/random_shovel.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "rm:items/random_shovel" + } +} \ No newline at end of file diff --git a/main/resources/assets/rm/models/item/random_sword.json b/main/resources/assets/rm/models/item/random_sword.json new file mode 100644 index 0000000..2fb65f6 --- /dev/null +++ b/main/resources/assets/rm/models/item/random_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "rm:items/random_sword" + } +} \ No newline at end of file diff --git a/main/resources/assets/rm/models/item/towel_hanger.json b/main/resources/assets/rm/models/item/towel_hanger.json new file mode 100644 index 0000000..ff32e50 --- /dev/null +++ b/main/resources/assets/rm/models/item/towel_hanger.json @@ -0,0 +1,3 @@ +{ + "parent": "rm:block/towel_hanger" +} \ No newline at end of file diff --git a/main/resources/assets/rm/recipes/random_axe.json b/main/resources/assets/rm/recipes/random_axe.json new file mode 100644 index 0000000..194b0bb --- /dev/null +++ b/main/resources/assets/rm/recipes/random_axe.json @@ -0,0 +1,28 @@ +{ + "type": "minecraft:crafting_shaped", + + "pattern": + [ + "SS ", + "SW ", + " W " + ], + + "key": + { + "S": + { + "item": "rm:random_ingot" + }, + "W": + { + "item": "minecraft:stick" + } + }, + + "result": + { + "item": "rm:random_axe", + "count": 1 + } +} \ No newline at end of file diff --git a/main/resources/assets/rm/recipes/random_block.json b/main/resources/assets/rm/recipes/random_block.json new file mode 100644 index 0000000..9707eae --- /dev/null +++ b/main/resources/assets/rm/recipes/random_block.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + + "pattern": + [ + "SSS", + "SSS", + "SSS" + ], + + "key": + { + "S": + { + "item": "rm:random_ingot" + } + }, + + "result": + { + "item": "rm:random_block", + "count": 1 + } +} \ No newline at end of file diff --git a/main/resources/assets/rm/recipes/random_boots.json b/main/resources/assets/rm/recipes/random_boots.json new file mode 100644 index 0000000..128cbad --- /dev/null +++ b/main/resources/assets/rm/recipes/random_boots.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + + "pattern": + [ + " ", + "S S", + "S S" + ], + + "key": + { + "S": + { + "item": "rm:random_ingot" + } + }, + + "result": + { + "item": "rm:random_boots", + "count": 1 + } +} \ No newline at end of file diff --git a/main/resources/assets/rm/recipes/random_chestplate.json b/main/resources/assets/rm/recipes/random_chestplate.json new file mode 100644 index 0000000..4b72fd5 --- /dev/null +++ b/main/resources/assets/rm/recipes/random_chestplate.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + + "pattern": + [ + "S S", + "SSS", + "SSS" + ], + + "key": + { + "S": + { + "item": "rm:random_ingot" + } + }, + + "result": + { + "item": "rm:random_chestplate", + "count": 1 + } +} \ No newline at end of file diff --git a/main/resources/assets/rm/recipes/random_helmet.json b/main/resources/assets/rm/recipes/random_helmet.json new file mode 100644 index 0000000..a51daf6 --- /dev/null +++ b/main/resources/assets/rm/recipes/random_helmet.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + + "pattern": + [ + "SSS", + "S S", + " " + ], + + "key": + { + "S": + { + "item": "rm:random_ingot" + } + }, + + "result": + { + "item": "rm:random_helmet", + "count": 1 + } +} \ No newline at end of file diff --git a/main/resources/assets/rm/recipes/random_hoe.json b/main/resources/assets/rm/recipes/random_hoe.json new file mode 100644 index 0000000..20a7c3d --- /dev/null +++ b/main/resources/assets/rm/recipes/random_hoe.json @@ -0,0 +1,28 @@ +{ + "type": "minecraft:crafting_shaped", + + "pattern": + [ + " SS", + " W ", + " W " + ], + + "key": + { + "S": + { + "item": "rm:random_ingot" + }, + "W": + { + "item": "minecraft:stick" + } + }, + + "result": + { + "item": "rm:random_hoe", + "count": 1 + } +} \ No newline at end of file diff --git a/main/resources/assets/rm/recipes/random_leggings.json b/main/resources/assets/rm/recipes/random_leggings.json new file mode 100644 index 0000000..a55299d --- /dev/null +++ b/main/resources/assets/rm/recipes/random_leggings.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + + "pattern": + [ + "SSS", + "S S", + "S S" + ], + + "key": + { + "S": + { + "item": "rm:random_ingot" + } + }, + + "result": + { + "item": "rm:random_leggings", + "count": 1 + } +} \ No newline at end of file diff --git a/main/resources/assets/rm/recipes/random_pickaxe.json b/main/resources/assets/rm/recipes/random_pickaxe.json new file mode 100644 index 0000000..c1aad2a --- /dev/null +++ b/main/resources/assets/rm/recipes/random_pickaxe.json @@ -0,0 +1,28 @@ +{ + "type": "minecraft:crafting_shaped", + + "pattern": + [ + "SSS", + " W ", + " W " + ], + + "key": + { + "S": + { + "item": "rm:random_ingot" + }, + "W": + { + "item": "minecraft:stick" + } + }, + + "result": + { + "item": "rm:random_pickaxe", + "count": 1 + } +} \ No newline at end of file diff --git a/main/resources/assets/rm/recipes/random_shovel.json b/main/resources/assets/rm/recipes/random_shovel.json new file mode 100644 index 0000000..e28d976 --- /dev/null +++ b/main/resources/assets/rm/recipes/random_shovel.json @@ -0,0 +1,28 @@ +{ + "type": "minecraft:crafting_shaped", + + "pattern": + [ + " S ", + " W ", + " W " + ], + + "key": + { + "S": + { + "item": "rm:random_ingot" + }, + "W": + { + "item": "minecraft:stick" + } + }, + + "result": + { + "item": "rm:random_shovel", + "count": 1 + } +} \ No newline at end of file diff --git a/main/resources/assets/rm/recipes/random_sword.json b/main/resources/assets/rm/recipes/random_sword.json new file mode 100644 index 0000000..57311d6 --- /dev/null +++ b/main/resources/assets/rm/recipes/random_sword.json @@ -0,0 +1,28 @@ +{ + "type": "minecraft:crafting_shaped", + + "pattern": + [ + " S ", + " S ", + " W " + ], + + "key": + { + "S": + { + "item": "rm:random_ingot" + }, + "W": + { + "item": "minecraft:stick" + } + }, + + "result": + { + "item": "rm:random_sword", + "count": 1 + } +} \ No newline at end of file diff --git a/main/resources/assets/rm/textures/blocks/random_block.png b/main/resources/assets/rm/textures/blocks/random_block.png new file mode 100644 index 0000000..fb77116 Binary files /dev/null and b/main/resources/assets/rm/textures/blocks/random_block.png differ diff --git a/main/resources/assets/rm/textures/blocks/random_ore.png b/main/resources/assets/rm/textures/blocks/random_ore.png new file mode 100644 index 0000000..dff7148 Binary files /dev/null and b/main/resources/assets/rm/textures/blocks/random_ore.png differ diff --git a/main/resources/assets/rm/textures/items/random_axe.png b/main/resources/assets/rm/textures/items/random_axe.png new file mode 100644 index 0000000..ba5cb72 Binary files /dev/null and b/main/resources/assets/rm/textures/items/random_axe.png differ diff --git a/main/resources/assets/rm/textures/items/random_boots.png b/main/resources/assets/rm/textures/items/random_boots.png new file mode 100644 index 0000000..a95cd02 Binary files /dev/null and b/main/resources/assets/rm/textures/items/random_boots.png differ diff --git a/main/resources/assets/rm/textures/items/random_chestplate.png b/main/resources/assets/rm/textures/items/random_chestplate.png new file mode 100644 index 0000000..bfb79fb Binary files /dev/null and b/main/resources/assets/rm/textures/items/random_chestplate.png differ diff --git a/main/resources/assets/rm/textures/items/random_helmet.png b/main/resources/assets/rm/textures/items/random_helmet.png new file mode 100644 index 0000000..df86531 Binary files /dev/null and b/main/resources/assets/rm/textures/items/random_helmet.png differ diff --git a/main/resources/assets/rm/textures/items/random_hoe.png b/main/resources/assets/rm/textures/items/random_hoe.png new file mode 100644 index 0000000..cb9978c Binary files /dev/null and b/main/resources/assets/rm/textures/items/random_hoe.png differ diff --git a/main/resources/assets/rm/textures/items/random_ingot.png b/main/resources/assets/rm/textures/items/random_ingot.png new file mode 100644 index 0000000..9de6343 Binary files /dev/null and b/main/resources/assets/rm/textures/items/random_ingot.png differ diff --git a/main/resources/assets/rm/textures/items/random_leggings.png b/main/resources/assets/rm/textures/items/random_leggings.png new file mode 100644 index 0000000..397a879 Binary files /dev/null and b/main/resources/assets/rm/textures/items/random_leggings.png differ diff --git a/main/resources/assets/rm/textures/items/random_meat_cooked.png b/main/resources/assets/rm/textures/items/random_meat_cooked.png new file mode 100644 index 0000000..4ecedaf Binary files /dev/null and b/main/resources/assets/rm/textures/items/random_meat_cooked.png differ diff --git a/main/resources/assets/rm/textures/items/random_meat_raw.png b/main/resources/assets/rm/textures/items/random_meat_raw.png new file mode 100644 index 0000000..f9ca088 Binary files /dev/null and b/main/resources/assets/rm/textures/items/random_meat_raw.png differ diff --git a/main/resources/assets/rm/textures/items/random_pickaxe.png b/main/resources/assets/rm/textures/items/random_pickaxe.png new file mode 100644 index 0000000..6652b8b Binary files /dev/null and b/main/resources/assets/rm/textures/items/random_pickaxe.png differ diff --git a/main/resources/assets/rm/textures/items/random_shovel.png b/main/resources/assets/rm/textures/items/random_shovel.png new file mode 100644 index 0000000..1907816 Binary files /dev/null and b/main/resources/assets/rm/textures/items/random_shovel.png differ diff --git a/main/resources/assets/rm/textures/items/random_sword.png b/main/resources/assets/rm/textures/items/random_sword.png new file mode 100644 index 0000000..d993294 Binary files /dev/null and b/main/resources/assets/rm/textures/items/random_sword.png differ diff --git a/main/resources/assets/rm/textures/models/armor/random_ingot_layer_1.png b/main/resources/assets/rm/textures/models/armor/random_ingot_layer_1.png new file mode 100644 index 0000000..6d90675 Binary files /dev/null and b/main/resources/assets/rm/textures/models/armor/random_ingot_layer_1.png differ diff --git a/main/resources/assets/rm/textures/models/armor/random_ingot_layer_2.png b/main/resources/assets/rm/textures/models/armor/random_ingot_layer_2.png new file mode 100644 index 0000000..1cb598a Binary files /dev/null and b/main/resources/assets/rm/textures/models/armor/random_ingot_layer_2.png differ diff --git a/main/resources/mcmod.info b/main/resources/mcmod.info new file mode 100644 index 0000000..9b6d0c0 --- /dev/null +++ b/main/resources/mcmod.info @@ -0,0 +1,16 @@ +[ +{ + "modid": "rm", + "name": "Random Mod", + "description": "An random mod.", + "version": "1.0", + "mcversion": "1.12.2", + "url": "https://www.youtube.com/channel/UC4cXh5_kRY7xcZIgglTz9sg", + "updateUrl": "", + "authorList": ["CanadianGamer"], + "credits": "HI:)", + "logoFile": "", + "screenshots": [], + "dependencies": [] +} +] diff --git a/main/resources/pack.mcmeta b/main/resources/pack.mcmeta new file mode 100644 index 0000000..c79a362 --- /dev/null +++ b/main/resources/pack.mcmeta @@ -0,0 +1,7 @@ +{ + "pack": { + "description": "examplemod resources", + "pack_format": 6, + "_comment": "A pack_format of 6 requires json lang files and some texture changes from 1.16.2. Note: we require v6 pack meta for all mods." + } +} diff --git a/old/main/java/com/canadiangamer/randommod/Main.java b/old/main/java/com/canadiangamer/randommod/Main.java new file mode 100644 index 0000000..de81e53 --- /dev/null +++ b/old/main/java/com/canadiangamer/randommod/Main.java @@ -0,0 +1,52 @@ +package com.canadiangamer.randommod; + +import com.canadiangamer.randommod.init.ModRecipes; +import com.canadiangamer.randommod.proxy.CommonProxy; +import com.canadiangamer.randommod.tabs.RandomTab; +import com.canadiangamer.randommod.util.Reference; +import com.canadiangamer.randommod.world.ModWorldGen; + +import net.minecraft.creativetab.CreativeTabs; +import net.minecraftforge.fml.common.Mod; +import net.minecraftforge.fml.common.Mod.EventHandler; +import net.minecraftforge.fml.common.Mod.Instance; +import net.minecraftforge.fml.common.SidedProxy; +import net.minecraftforge.fml.common.event.FMLInitializationEvent; +import net.minecraftforge.fml.common.event.FMLPostInitializationEvent; +import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; +import net.minecraftforge.fml.common.registry.GameRegistry; + +@Mod(modid = Reference.MOD_ID, name = Reference.NAME, version = Reference.VERSION) +public class Main { + + @Instance + public static Main instance; + + @SidedProxy(clientSide = Reference.CLIENT_PROXY_CLASS, serverSide = Reference.COMMON_PROXY_CLASS) + public static CommonProxy proxy; + + @EventHandler + public static void PreInit(FMLPreInitializationEvent event) + { + GameRegistry.registerWorldGenerator(new ModWorldGen(), 3); + + } + + @EventHandler + public static void init(FMLInitializationEvent event) + { + ModRecipes.init(); + } + + @EventHandler + public static void Postinit(FMLPostInitializationEvent event) + { + + } + + public static final CreativeTabs randomtab = new RandomTab("randommod"); + + + + +} diff --git a/old/main/java/com/canadiangamer/randommod/blocks/BlockBase.java b/old/main/java/com/canadiangamer/randommod/blocks/BlockBase.java new file mode 100644 index 0000000..bc1955f --- /dev/null +++ b/old/main/java/com/canadiangamer/randommod/blocks/BlockBase.java @@ -0,0 +1,32 @@ +package com.canadiangamer.randommod.blocks; + +import com.canadiangamer.randommod.Main; +import com.canadiangamer.randommod.init.ModBlocks; +import com.canadiangamer.randommod.init.ModItems; +import com.canadiangamer.randommod.util.IHasModel; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemBlock; + +public class BlockBase extends Block implements IHasModel +{ + public BlockBase (String name, Material material) + { + super(material); + setUnlocalizedName(name); + setRegistryName(name); + setCreativeTab(Main.randomtab); + + ModBlocks.BLOCKS.add(this); + ModItems.ITEMS.add(new ItemBlock(this).setRegistryName(this.getRegistryName())); + } + +@Override +public void registerModels() +{ +Main.proxy.registerItemRenderer(Item.getItemFromBlock(this), 0, "inventory"); +} +} diff --git a/old/main/java/com/canadiangamer/randommod/blocks/BlockTowelHanger.java b/old/main/java/com/canadiangamer/randommod/blocks/BlockTowelHanger.java new file mode 100644 index 0000000..3059191 --- /dev/null +++ b/old/main/java/com/canadiangamer/randommod/blocks/BlockTowelHanger.java @@ -0,0 +1,41 @@ +package com.canadiangamer.randommod.blocks; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.block.state.IBlockState; +import net.minecraft.util.math.AxisAlignedBB; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.IBlockAccess; + +public class BlockTowelHanger extends BlockBase { + +public BlockTowelHanger(String name, Material cloth) { + super(name, Material.CLOTH); + + } + +public static final AxisAlignedBB TOWEL_HANGER_ABB = new AxisAlignedBB(0.1875D, 0, 0.1875D, 0.8125D, 0.625D, 0.8125); + + + + + + @Override + public boolean isOpaqueCube(IBlockState state) + { + return false; + } + + @Override + public boolean isFullCube(IBlockState state) + { + return false; + } + +@Override +public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) +{ + return TOWEL_HANGER_ABB; +} + +} diff --git a/old/main/java/com/canadiangamer/randommod/blocks/RandomBlock.java b/old/main/java/com/canadiangamer/randommod/blocks/RandomBlock.java new file mode 100644 index 0000000..a2d5a5e --- /dev/null +++ b/old/main/java/com/canadiangamer/randommod/blocks/RandomBlock.java @@ -0,0 +1,19 @@ +package com.canadiangamer.randommod.blocks; + +import net.minecraft.block.SoundType; +import net.minecraft.block.material.Material; + +public class RandomBlock extends BlockBase +{ + + public RandomBlock(String name, Material material) + { + super(name, material); + + setSoundType(SoundType.METAL); + setHardness(5.0F); + setResistance(15.0F); + setHarvestLevel("pickaxe", 2); + setLightLevel(1.0f); + } +} diff --git a/old/main/java/com/canadiangamer/randommod/blocks/RandomOre.java b/old/main/java/com/canadiangamer/randommod/blocks/RandomOre.java new file mode 100644 index 0000000..b74e5e3 --- /dev/null +++ b/old/main/java/com/canadiangamer/randommod/blocks/RandomOre.java @@ -0,0 +1,15 @@ +package com.canadiangamer.randommod.blocks; + +import net.minecraft.block.SoundType; +import net.minecraft.block.material.Material; + +public class RandomOre extends BlockBase { + + public RandomOre(String name, Material material) { + super(name, material); + setSoundType(SoundType.METAL); + setHardness(5.0F); + setResistance(15.0F); + setHarvestLevel("pickaxe", 2); + } +} diff --git a/old/main/java/com/canadiangamer/randommod/init/ModBlocks.java b/old/main/java/com/canadiangamer/randommod/init/ModBlocks.java new file mode 100644 index 0000000..67fdcf5 --- /dev/null +++ b/old/main/java/com/canadiangamer/randommod/init/ModBlocks.java @@ -0,0 +1,24 @@ +package com.canadiangamer.randommod.init; + +import java.util.ArrayList; +import java.util.List; + +import com.canadiangamer.randommod.blocks.BlockBase; +import com.canadiangamer.randommod.blocks.BlockTowelHanger; +import com.canadiangamer.randommod.blocks.RandomBlock; +import com.canadiangamer.randommod.blocks.RandomOre; + + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; + +public class ModBlocks +{ + public static final List BLOCKS = new ArrayList(); + + //Blocks + public static final Block RANDOM_BLOCK = new RandomBlock("random_block", Material.IRON); + public static final Block RANDOM_ORE = new RandomOre("random_ore", Material.ROCK); + public static final Block TOWEL_HANGER = new BlockTowelHanger("towel_hanger", Material.CLOTH); +; +} diff --git a/old/main/java/com/canadiangamer/randommod/init/ModItems.java b/old/main/java/com/canadiangamer/randommod/init/ModItems.java new file mode 100644 index 0000000..7381cfc --- /dev/null +++ b/old/main/java/com/canadiangamer/randommod/init/ModItems.java @@ -0,0 +1,63 @@ +package com.canadiangamer.randommod.init; + +import java.util.ArrayList; +import java.util.List; + +import com.canadiangamer.randommod.items.ItemBase; +import com.canadiangamer.randommod.items.armor.ArmorBase; +import com.canadiangamer.randommod.items.food.FoodBase; +import com.canadiangamer.randommod.items.food.FoodEffectBase; +import com.canadiangamer.randommod.items.tools.ToolAxe; +import com.canadiangamer.randommod.items.tools.ToolHoe; +import com.canadiangamer.randommod.items.tools.ToolPickaxe; +import com.canadiangamer.randommod.items.tools.ToolSpade; +import com.canadiangamer.randommod.items.tools.ToolSword; +import com.canadiangamer.randommod.util.Reference; + +import net.minecraft.init.MobEffects; +import net.minecraft.init.SoundEvents; +import net.minecraft.inventory.EntityEquipmentSlot; +import net.minecraft.item.Item; +import net.minecraft.item.Item.ToolMaterial; +import net.minecraft.item.ItemArmor.ArmorMaterial; +import net.minecraft.item.ItemAxe; +import net.minecraft.item.ItemHoe; +import net.minecraft.item.ItemPickaxe; +import net.minecraft.item.ItemSpade; +import net.minecraft.item.ItemSword; +import net.minecraft.potion.PotionEffect; +import net.minecraftforge.common.util.EnumHelper; + +public class ModItems +{ + + //Material + public static final ToolMaterial MATERIAL_RANDOM_INGOT = EnumHelper.addToolMaterial("material_random_ingot", 3, 43353645, 10.0f, 900.0f, 20); + public static final ArmorMaterial ARMOR_MATERIAL_RANDOM_INGOT = EnumHelper.addArmorMaterial("armour_material_random_ingot", Reference.MOD_ID + ":random_ingot", 50, new int[] {27, 28, 29, 30}, 20, SoundEvents.ITEM_ARMOR_EQUIP_DIAMOND, 0.0F); + + + //Items + public static final List ITEMS = new ArrayList(); + + public static final Item RANDOM_INGOT = new ItemBase ("random_ingot"); + + //Tools + public static final ItemSword RANDOM_SWORD = new ToolSword("random_sword", MATERIAL_RANDOM_INGOT); + public static final ItemSpade RANDOM_SHOVEL = new ToolSpade("random_shovel", MATERIAL_RANDOM_INGOT); + public static final ItemPickaxe RANDOM_PICKAXE = new ToolPickaxe("random_pickaxe", MATERIAL_RANDOM_INGOT); + public static final ItemAxe RANDOM_AXE = new ToolAxe("random_axe", MATERIAL_RANDOM_INGOT); + public static final ItemHoe RANDOM_HOE = new ToolHoe("random_hoe", MATERIAL_RANDOM_INGOT); + + //Armor + public static final Item RANDOM_HELMET = new ArmorBase("random_helmet", ARMOR_MATERIAL_RANDOM_INGOT, 1, EntityEquipmentSlot.HEAD); + public static final Item RANDOM_CHESTPLATE = new ArmorBase("random_chestplate", ARMOR_MATERIAL_RANDOM_INGOT, 1, EntityEquipmentSlot.CHEST); + public static final Item RANDOM_LEGGINGS = new ArmorBase("random_leggings", ARMOR_MATERIAL_RANDOM_INGOT, 2, EntityEquipmentSlot.LEGS); + public static final Item RANDOM_BOOTS = new ArmorBase("random_boots", ARMOR_MATERIAL_RANDOM_INGOT, 1, EntityEquipmentSlot.FEET); + + //Food + //public static final Item RANDOM_MEAT_RAW = new FoodBase("random_meat_raw", 8, 4.2f, false); + //public static final Item RANDOM_MEAT_COOKED = new FoodBase("random_meat_cooked", 16, 5.2f, false); + public static final Item RANDOM_MEAT_RAW = new FoodEffectBase("random_meat_raw", 8, 4.2f, false, new PotionEffect(MobEffects.SLOWNESS, (60*20), 2, false, true)); + public static final Item RANDOM_MEAT_COOKED = new FoodEffectBase("random_meat_cooked", 16, 5.2f, false, new PotionEffect(MobEffects.SPEED, 2*(60*20), 4, false, true)); +} + \ No newline at end of file diff --git a/old/main/java/com/canadiangamer/randommod/init/ModRecipes.java b/old/main/java/com/canadiangamer/randommod/init/ModRecipes.java new file mode 100644 index 0000000..7c6d3d2 --- /dev/null +++ b/old/main/java/com/canadiangamer/randommod/init/ModRecipes.java @@ -0,0 +1,13 @@ +package com.canadiangamer.randommod.init; + +import net.minecraft.item.ItemStack; +import net.minecraftforge.fml.common.registry.GameRegistry; + +public class ModRecipes { + + public static void init() { + GameRegistry.addSmelting(ModBlocks.RANDOM_BLOCK , new ItemStack(ModItems.RANDOM_INGOT, 9), 3.5f); + GameRegistry.addSmelting(ModBlocks.RANDOM_ORE , new ItemStack(ModItems.RANDOM_INGOT, 1), 6.5f); + GameRegistry.addSmelting(ModItems.RANDOM_MEAT_RAW , new ItemStack(ModItems.RANDOM_MEAT_COOKED, 1), 6.5f); + } +} diff --git a/old/main/java/com/canadiangamer/randommod/items/ItemBase.java b/old/main/java/com/canadiangamer/randommod/items/ItemBase.java new file mode 100644 index 0000000..c0b492e --- /dev/null +++ b/old/main/java/com/canadiangamer/randommod/items/ItemBase.java @@ -0,0 +1,27 @@ +package com.canadiangamer.randommod.items; + +import com.canadiangamer.randommod.Main; +import com.canadiangamer.randommod.init.ModItems; +import com.canadiangamer.randommod.util.IHasModel; + +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; + +public class ItemBase extends Item implements IHasModel { + + public ItemBase(String name) + { + setUnlocalizedName(name); + setRegistryName(name); + setCreativeTab(Main.randomtab); + + ModItems.ITEMS.add(this); + } + + @Override + public void registerModels() + { + Main.proxy.registerItemRenderer(this,0,"inventory"); + } + +} diff --git a/old/main/java/com/canadiangamer/randommod/items/armor/ArmorBase.java b/old/main/java/com/canadiangamer/randommod/items/armor/ArmorBase.java new file mode 100644 index 0000000..4013bc1 --- /dev/null +++ b/old/main/java/com/canadiangamer/randommod/items/armor/ArmorBase.java @@ -0,0 +1,28 @@ +package com.canadiangamer.randommod.items.armor; + +import com.canadiangamer.randommod.Main; +import com.canadiangamer.randommod.init.ModItems; +import com.canadiangamer.randommod.util.IHasModel; + +import net.minecraft.inventory.EntityEquipmentSlot; +import net.minecraft.item.ItemArmor; + +public class ArmorBase extends ItemArmor implements IHasModel{ + + public ArmorBase(String name,ArmorMaterial materialIn, int renderIndexIn, EntityEquipmentSlot equipmentSlotIn) { + super(materialIn, renderIndexIn, equipmentSlotIn); + setUnlocalizedName(name); + setRegistryName(name); + setCreativeTab(Main.randomtab); + + ModItems.ITEMS.add(this); + } + + @Override + public void registerModels() + { + Main.proxy.registerItemRenderer(this,0,"inventory"); + } + + +} diff --git a/old/main/java/com/canadiangamer/randommod/items/food/FoodBase.java b/old/main/java/com/canadiangamer/randommod/items/food/FoodBase.java new file mode 100644 index 0000000..3c3a1b6 --- /dev/null +++ b/old/main/java/com/canadiangamer/randommod/items/food/FoodBase.java @@ -0,0 +1,28 @@ +package com.canadiangamer.randommod.items.food; + +import com.canadiangamer.randommod.Main; +import com.canadiangamer.randommod.init.ModItems; +import com.canadiangamer.randommod.util.IHasModel; + +import net.minecraft.item.ItemFood; + +public class FoodBase extends ItemFood implements IHasModel +{ + + public FoodBase(String name, int amount, float saturation, boolean isAnimalFood) + { + super(amount, saturation, isAnimalFood); + setUnlocalizedName(name); + setRegistryName(name); + setCreativeTab(Main.randomtab); + + ModItems.ITEMS.add(this); + } + + @Override + public void registerModels() + { + Main.proxy.registerItemRenderer(this,0,"inventory"); + + } +} diff --git a/old/main/java/com/canadiangamer/randommod/items/food/FoodEffectBase.java b/old/main/java/com/canadiangamer/randommod/items/food/FoodEffectBase.java new file mode 100644 index 0000000..00b760c --- /dev/null +++ b/old/main/java/com/canadiangamer/randommod/items/food/FoodEffectBase.java @@ -0,0 +1,36 @@ +package com.canadiangamer.randommod.items.food; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.potion.PotionEffect; +import net.minecraft.world.World; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; + +public class FoodEffectBase extends FoodBase +{ + + PotionEffect effect; + + public FoodEffectBase(String name, int amount, float saturation, boolean isAnimalFood, PotionEffect effect) + { + super(name, amount, saturation, isAnimalFood); + setAlwaysEdible(); + + this.effect = effect; + } + @Override + protected void onFoodEaten(ItemStack stack, World worldIn, EntityPlayer player) + { + if(!worldIn.isRemote) { + player.addPotionEffect(new PotionEffect(effect.getPotion(), effect.getDuration(), effect.getAmplifier(), effect.getIsAmbient(), effect.doesShowParticles())); + } + } + + @SideOnly(Side.CLIENT) + public boolean hasEffect(ItemStack stack) + { + return true; + } + +} diff --git a/old/main/java/com/canadiangamer/randommod/items/tools/ToolAxe.java b/old/main/java/com/canadiangamer/randommod/items/tools/ToolAxe.java new file mode 100644 index 0000000..760136a --- /dev/null +++ b/old/main/java/com/canadiangamer/randommod/items/tools/ToolAxe.java @@ -0,0 +1,27 @@ +package com.canadiangamer.randommod.items.tools; + +import com.canadiangamer.randommod.Main; +import com.canadiangamer.randommod.init.ModItems; +import com.canadiangamer.randommod.util.IHasModel; + +import net.minecraft.item.ItemAxe; +import net.minecraft.item.Item.ToolMaterial; + +public class ToolAxe extends ItemAxe implements IHasModel{ + + public ToolAxe(String name, ToolMaterial material) + { + super(material, 8.0F, -3.0F ); + setUnlocalizedName(name); + setRegistryName(name); + setCreativeTab(Main.randomtab); + + ModItems.ITEMS.add(this); + } + + @Override + public void registerModels() + { + Main.proxy.registerItemRenderer(this,0,"inventory"); + } +} diff --git a/old/main/java/com/canadiangamer/randommod/items/tools/ToolHoe.java b/old/main/java/com/canadiangamer/randommod/items/tools/ToolHoe.java new file mode 100644 index 0000000..9824d55 --- /dev/null +++ b/old/main/java/com/canadiangamer/randommod/items/tools/ToolHoe.java @@ -0,0 +1,27 @@ +package com.canadiangamer.randommod.items.tools; + +import com.canadiangamer.randommod.Main; +import com.canadiangamer.randommod.init.ModItems; +import com.canadiangamer.randommod.util.IHasModel; + +import net.minecraft.item.ItemHoe; +import net.minecraft.item.Item.ToolMaterial; + +public class ToolHoe extends ItemHoe implements IHasModel{ + + public ToolHoe(String name, ToolMaterial material) + { + super(material); + setUnlocalizedName(name); + setRegistryName(name); + setCreativeTab(Main.randomtab); + + ModItems.ITEMS.add(this); + } + + @Override + public void registerModels() + { + Main.proxy.registerItemRenderer(this,0,"inventory"); + } +} diff --git a/old/main/java/com/canadiangamer/randommod/items/tools/ToolPickaxe.java b/old/main/java/com/canadiangamer/randommod/items/tools/ToolPickaxe.java new file mode 100644 index 0000000..efc9126 --- /dev/null +++ b/old/main/java/com/canadiangamer/randommod/items/tools/ToolPickaxe.java @@ -0,0 +1,30 @@ +package com.canadiangamer.randommod.items.tools; + +import com.canadiangamer.randommod.Main; +import com.canadiangamer.randommod.init.ModItems; +import com.canadiangamer.randommod.util.IHasModel; + +import net.minecraft.item.Item.ToolMaterial; +import net.minecraft.item.ItemPickaxe; + +public class ToolPickaxe extends ItemPickaxe implements IHasModel { + + + + public ToolPickaxe(String name, ToolMaterial material) + { + super(material); + setUnlocalizedName(name); + setRegistryName(name); + setCreativeTab(Main.randomtab); + + ModItems.ITEMS.add(this); + } + + @Override + public void registerModels() + { + Main.proxy.registerItemRenderer(this,0,"inventory"); + } + +} diff --git a/old/main/java/com/canadiangamer/randommod/items/tools/ToolSpade.java b/old/main/java/com/canadiangamer/randommod/items/tools/ToolSpade.java new file mode 100644 index 0000000..c8095d4 --- /dev/null +++ b/old/main/java/com/canadiangamer/randommod/items/tools/ToolSpade.java @@ -0,0 +1,28 @@ +package com.canadiangamer.randommod.items.tools; + +import com.canadiangamer.randommod.Main; +import com.canadiangamer.randommod.init.ModItems; +import com.canadiangamer.randommod.util.IHasModel; + +import net.minecraft.item.ItemSpade; +import net.minecraft.item.Item.ToolMaterial; + +public class ToolSpade extends ItemSpade implements IHasModel{ + + public ToolSpade(String name, ToolMaterial material) + + { + super(material); + setUnlocalizedName(name); + setRegistryName(name); + setCreativeTab(Main.randomtab); + + ModItems.ITEMS.add(this); + } + + @Override + public void registerModels() + { + Main.proxy.registerItemRenderer(this,0,"inventory"); + } +} diff --git a/old/main/java/com/canadiangamer/randommod/items/tools/ToolSword.java b/old/main/java/com/canadiangamer/randommod/items/tools/ToolSword.java new file mode 100644 index 0000000..3533f77 --- /dev/null +++ b/old/main/java/com/canadiangamer/randommod/items/tools/ToolSword.java @@ -0,0 +1,26 @@ +package com.canadiangamer.randommod.items.tools; + +import com.canadiangamer.randommod.Main; +import com.canadiangamer.randommod.init.ModItems; +import com.canadiangamer.randommod.util.IHasModel; + +import net.minecraft.item.ItemSword; + +public class ToolSword extends ItemSword implements IHasModel { + + public ToolSword(String name, ToolMaterial material) + { + super(material); + setUnlocalizedName(name); + setRegistryName(name); + setCreativeTab(Main.randomtab); + + ModItems.ITEMS.add(this); + } + + @Override + public void registerModels() + { + Main.proxy.registerItemRenderer(this,0,"inventory"); + } +} diff --git a/old/main/java/com/canadiangamer/randommod/proxy/ClientProxy.java b/old/main/java/com/canadiangamer/randommod/proxy/ClientProxy.java new file mode 100644 index 0000000..5402774 --- /dev/null +++ b/old/main/java/com/canadiangamer/randommod/proxy/ClientProxy.java @@ -0,0 +1,16 @@ +package com.canadiangamer.randommod.proxy; + +import net.minecraft.client.renderer.block.model.ModelResourceLocation; +import net.minecraft.item.Item; +import net.minecraftforge.client.model.ModelLoader; + +public class ClientProxy extends CommonProxy +{ + public void registerItemRenderer(Item item, int meta, String id) +{ + ModelLoader.setCustomModelResourceLocation(item, meta, new ModelResourceLocation (item.getRegistryName(), id)); +} + + +} + diff --git a/old/main/java/com/canadiangamer/randommod/proxy/CommonProxy.java b/old/main/java/com/canadiangamer/randommod/proxy/CommonProxy.java new file mode 100644 index 0000000..87ec327 --- /dev/null +++ b/old/main/java/com/canadiangamer/randommod/proxy/CommonProxy.java @@ -0,0 +1,8 @@ + package com.canadiangamer.randommod.proxy; + +import net.minecraft.item.Item; + +public class CommonProxy +{ + public void registerItemRenderer(Item item, int meta, String id) {} +} diff --git a/old/main/java/com/canadiangamer/randommod/tabs/RandomTab.java b/old/main/java/com/canadiangamer/randommod/tabs/RandomTab.java new file mode 100644 index 0000000..a2497c2 --- /dev/null +++ b/old/main/java/com/canadiangamer/randommod/tabs/RandomTab.java @@ -0,0 +1,15 @@ +package com.canadiangamer.randommod.tabs; + +import com.canadiangamer.randommod.init.ModBlocks; + +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +public class RandomTab extends CreativeTabs +{ +public RandomTab(String label ) {super("randommod"); + this.setBackgroundImageName("randommod.png");} +public ItemStack getTabIconItem() { return new ItemStack(Item.getItemFromBlock(ModBlocks.RANDOM_BLOCK));} + +} diff --git a/old/main/java/com/canadiangamer/randommod/util/IHasModel.java b/old/main/java/com/canadiangamer/randommod/util/IHasModel.java new file mode 100644 index 0000000..4d711b3 --- /dev/null +++ b/old/main/java/com/canadiangamer/randommod/util/IHasModel.java @@ -0,0 +1,6 @@ +package com.canadiangamer.randommod.util; + +public interface IHasModel +{ + public void registerModels(); +} diff --git a/old/main/java/com/canadiangamer/randommod/util/Reference.java b/old/main/java/com/canadiangamer/randommod/util/Reference.java new file mode 100644 index 0000000..3908e08 --- /dev/null +++ b/old/main/java/com/canadiangamer/randommod/util/Reference.java @@ -0,0 +1,15 @@ +package com.canadiangamer.randommod.util; + +public class Reference { + + public static final String MOD_ID = "rm"; + public static final String NAME = "Random Mod"; + public static final String VERSION = "1.0"; + public static final String ACCEPTED_VERSIONS = "[1.12.2]"; + public static final String CLIENT_PROXY_CLASS = "com.canadiangamer.randommod.proxy.ClientProxy"; + public static final String COMMON_PROXY_CLASS = "com.canadiangamer.randommod.proxy.CommonProxy"; + + public static final int ENTITY_TIMMY = 120; + } + + \ No newline at end of file diff --git a/old/main/java/com/canadiangamer/randommod/util/handlers/RegistryHandler.java b/old/main/java/com/canadiangamer/randommod/util/handlers/RegistryHandler.java new file mode 100644 index 0000000..f3979e9 --- /dev/null +++ b/old/main/java/com/canadiangamer/randommod/util/handlers/RegistryHandler.java @@ -0,0 +1,56 @@ +package com.canadiangamer.randommod.util.handlers; + +import com.canadiangamer.randommod.init.ModBlocks; +import com.canadiangamer.randommod.init.ModItems; +import com.canadiangamer.randommod.util.IHasModel; + +import net.minecraft.block.Block; +import net.minecraft.item.Item; +import net.minecraftforge.client.event.ModelRegistryEvent; +import net.minecraftforge.event.RegistryEvent; +import net.minecraftforge.fml.common.Mod.EventBusSubscriber; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; + +@EventBusSubscriber +public class RegistryHandler +{ + @SubscribeEvent + public static void onItemRegister(RegistryEvent.Register event) + { + event.getRegistry().registerAll(ModItems.ITEMS.toArray(new Item[0])); + } + + @SubscribeEvent + public static void onBlockRegister(RegistryEvent.Register event) + { + event.getRegistry().registerAll(ModBlocks.BLOCKS.toArray(new Block[0])); + } + + + + + @SubscribeEvent + public static void onModelRegister(ModelRegistryEvent event) + { + for(Item item : ModItems.ITEMS) + { + if(item instanceof IHasModel ) + { + ((IHasModel)item).registerModels(); + } + } + + for(Block block : ModBlocks.BLOCKS) + { + if(block instanceof IHasModel ) + { + ((IHasModel)block).registerModels(); + } + } + + + + + + } +} diff --git a/old/main/java/com/canadiangamer/randommod/world/ModWorldGen.java b/old/main/java/com/canadiangamer/randommod/world/ModWorldGen.java new file mode 100644 index 0000000..7da45a6 --- /dev/null +++ b/old/main/java/com/canadiangamer/randommod/world/ModWorldGen.java @@ -0,0 +1,41 @@ +package com.canadiangamer.randommod.world; + +import java.util.Random; + +import com.canadiangamer.randommod.init.ModBlocks; + +import net.minecraft.block.state.IBlockState; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; +import net.minecraft.world.chunk.IChunkProvider; +import net.minecraft.world.gen.IChunkGenerator; +import net.minecraft.world.gen.feature.WorldGenMinable; +import net.minecraftforge.fml.common.IWorldGenerator; + +public class ModWorldGen implements IWorldGenerator { + + @Override + public void generate(Random random, int chunkX, int chunkZ, World world, IChunkGenerator chunkGenerator, IChunkProvider chunkProvider) + { + if(world.provider.getDimension() == 0) { + generateOverworld(random, chunkX, chunkZ, world, chunkGenerator, chunkProvider); + } + } + + private void generateOverworld (Random random, int chunkX, int chunkZ, World world, IChunkGenerator chunkgenerator, IChunkProvider chunkprovider) + { + generateOre(ModBlocks.RANDOM_ORE.getDefaultState(), world, random, chunkX * 16, chunkZ * 16, 16, 64, random.nextInt(7) + 4, 6); + } + + private void generateOre(IBlockState ore, World world, Random random, int x, int z, int minY, int maxY, int size, int chances) + { + int deltaY = maxY - minY; + + for (int i = 0; i < chances; i++) { + BlockPos pos = new BlockPos(x + random.nextInt(16), minY + random.nextInt(deltaY), z + random.nextInt(16)); + + WorldGenMinable generator = new WorldGenMinable(ore, size); + generator.generate(world, random, pos); + } + } +} diff --git a/old/main/resources/assets/minecraft/textures/gui/container/creative_inventory/tab_randommod.png b/old/main/resources/assets/minecraft/textures/gui/container/creative_inventory/tab_randommod.png new file mode 100644 index 0000000..2b6fbb9 Binary files /dev/null and b/old/main/resources/assets/minecraft/textures/gui/container/creative_inventory/tab_randommod.png differ diff --git a/old/main/resources/assets/rm/blockstates/random_block.json b/old/main/resources/assets/rm/blockstates/random_block.json new file mode 100644 index 0000000..8146911 --- /dev/null +++ b/old/main/resources/assets/rm/blockstates/random_block.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "rm:random_block" } + } +} \ No newline at end of file diff --git a/old/main/resources/assets/rm/blockstates/random_ore.json b/old/main/resources/assets/rm/blockstates/random_ore.json new file mode 100644 index 0000000..100a67c --- /dev/null +++ b/old/main/resources/assets/rm/blockstates/random_ore.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "rm:random_ore" } + } +} \ No newline at end of file diff --git a/old/main/resources/assets/rm/blockstates/towel_hanger.json b/old/main/resources/assets/rm/blockstates/towel_hanger.json new file mode 100644 index 0000000..3918ea3 --- /dev/null +++ b/old/main/resources/assets/rm/blockstates/towel_hanger.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "rm:towel_hanger" } + } +} \ No newline at end of file diff --git a/old/main/resources/assets/rm/lang/en_us.lang b/old/main/resources/assets/rm/lang/en_us.lang new file mode 100644 index 0000000..5555154 --- /dev/null +++ b/old/main/resources/assets/rm/lang/en_us.lang @@ -0,0 +1,33 @@ +//Items +item.random_ingot.name=Random Ingot + +//Blocks +tile.random_block.name=Block of Random + +tile.towel_hanger.name=Towel Hanger + +tile.random_ore.name=Random Ore +//Tabs +itemGroup.randommod=Random mod + +//Tools +item.random_sword.name=Random Sword +item.random_shovel.name=Random Shovel +item.random_pickaxe.name=Random Pickaxe +item.random_axe.name=Random Axe +item.random_hoe.name=Random Hoe + +//Armor +item.random_helmet.name=Random Helmet +item.random_chestplate.name=Random Chestplate +item.random_leggings.name=Random Leggings +item.random_boots.name=Random Boots +item.stone_helmet.name=Stone Helmet +item.stone_chestplate.name=Stone Chestplate +item.stone_leggings.name=Stone Leggings +item.stone_boots.name=Stone Boots + + +//Food +item.random_meat_raw.name=Random Meat Raw +item.random_meat_cooked.name=Random Meat Cooked \ No newline at end of file diff --git a/old/main/resources/assets/rm/models/block/random_block.json b/old/main/resources/assets/rm/models/block/random_block.json new file mode 100644 index 0000000..2166886 --- /dev/null +++ b/old/main/resources/assets/rm/models/block/random_block.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "rm:blocks/random_block" + } +} \ No newline at end of file diff --git a/old/main/resources/assets/rm/models/block/random_ore.json b/old/main/resources/assets/rm/models/block/random_ore.json new file mode 100644 index 0000000..eec086a --- /dev/null +++ b/old/main/resources/assets/rm/models/block/random_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "rm:blocks/random_ore" + } +} \ No newline at end of file diff --git a/old/main/resources/assets/rm/models/block/towel_hanger.json b/old/main/resources/assets/rm/models/block/towel_hanger.json new file mode 100644 index 0000000..5451b89 --- /dev/null +++ b/old/main/resources/assets/rm/models/block/towel_hanger.json @@ -0,0 +1,426 @@ +{ + "__comment": "Model generated using MrCrayfish's Model Creator (http://mrcrayfish.com/modelcreator/)", + "textures": { + "0": "blocks/concrete_blue", + "1": "blocks/concrete_white", + "2": "blocks/concrete_gray" + }, + "elements": [ + { + "name": "Cube", + "from": [ 3.0, 0.0, 5.0 ], + "to": [ 4.0, 13.0, 6.0 ], + "faces": { + "north": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "east": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "south": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "west": { "texture": "#0", "uv": [ 0.0, 0.0, -9.0, 10.0 ] }, + "up": { "texture": "#0", "uv": [ 0.0, 0.0, 5.0, -1.0 ] }, + "down": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 4.0, 0.0, 5.0 ], + "to": [ 5.0, 13.0, 6.0 ], + "faces": { + "north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 10.0, 0.0, 5.0 ], + "to": [ 11.0, 13.0, 6.0 ], + "faces": { + "north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 5.0, 0.0, 5.0 ], + "to": [ 6.0, 13.0, 6.0 ], + "faces": { + "north": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "east": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "south": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "west": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "up": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 6.0, 0.0, 5.0 ], + "to": [ 7.0, 13.0, 6.0 ], + "faces": { + "north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 7.0, 0.0, 5.0 ], + "to": [ 8.0, 13.0, 6.0 ], + "faces": { + "north": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "east": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "south": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "west": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "up": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 8.0, 0.0, 5.0 ], + "to": [ 9.0, 13.0, 6.0 ], + "faces": { + "north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 9.0, 0.0, 5.0 ], + "to": [ 10.0, 13.0, 6.0 ], + "faces": { + "north": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "east": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "south": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "west": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "up": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 2.0, 11.0, 4.0 ], + "to": [ 13.0, 12.0, 5.0 ], + "faces": { + "north": { "texture": "#2", "uv": [ 0.0, 0.0, 11.0, 1.0 ] }, + "east": { "texture": "#2", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "south": { "texture": "#2", "uv": [ 0.0, 0.0, -16.0, -38.0 ] }, + "west": { "texture": "#2", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "up": { "texture": "#2", "uv": [ 0.0, 0.0, 11.0, 1.0 ] }, + "down": { "texture": "#2", "uv": [ 0.0, 0.0, 11.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 12.0, 11.0, 0.0 ], + "to": [ 13.0, 12.0, 4.0 ], + "faces": { + "north": { "texture": "#2", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "east": { "texture": "#2", "uv": [ 0.0, 0.0, 4.0, -55.0 ] }, + "south": { "texture": "#2", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "west": { "texture": "#2", "uv": [ 0.0, 0.0, 4.0, 1.0 ] }, + "up": { "texture": "#2", "uv": [ 0.0, 0.0, -1.0, 1.0 ] }, + "down": { "texture": "#2", "uv": [ 0.0, 0.0, 1.0, 4.0 ] } + } + }, + { + "name": "Cube", + "from": [ 9.0, 10.0, 3.0 ], + "to": [ 10.0, 13.0, 4.0 ], + "faces": { + "north": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "east": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "south": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "west": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "up": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 8.0, 10.0, 3.0 ], + "to": [ 9.0, 13.0, 4.0 ], + "faces": { + "north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 2.0 ] }, + "down": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 11.0, 0.0, 5.0 ], + "to": [ 12.0, 13.0, 6.0 ], + "faces": { + "north": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "east": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "south": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "west": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "up": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 3.0, 10.0, 3.0 ], + "to": [ 4.0, 13.0, 4.0 ], + "faces": { + "north": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "east": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "south": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "west": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "up": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 11.0, 10.0, 3.0 ], + "to": [ 12.0, 13.0, 4.0 ], + "faces": { + "north": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "east": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "south": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "west": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "up": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 4.0, 10.0, 3.0 ], + "to": [ 5.0, 13.0, 4.0 ], + "faces": { + "north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 10.0, 10.0, 3.0 ], + "to": [ 11.0, 13.0, 4.0 ], + "faces": { + "north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 3.0, 12.0, 5.0 ], + "to": [ 4.0, 13.0, 6.0 ], + "faces": { + "north": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "east": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "south": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "west": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "up": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 7.0, 10.0, 3.0 ], + "to": [ 8.0, 13.0, 4.0 ], + "faces": { + "north": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "east": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "south": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "west": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "up": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 6.0, 10.0, 3.0 ], + "to": [ 7.0, 13.0, 4.0 ], + "faces": { + "north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 11.0, 12.0, 4.0 ], + "to": [ 12.0, 13.0, 5.0 ], + "faces": { + "north": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "east": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "south": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "west": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "up": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 10.0, 12.0, 4.0 ], + "to": [ 11.0, 13.0, 5.0 ], + "faces": { + "north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 9.0, 12.0, 4.0 ], + "to": [ 10.0, 13.0, 5.0 ], + "faces": { + "north": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "east": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "south": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "west": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "up": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 8.0, 12.0, 4.0 ], + "to": [ 9.0, 13.0, 5.0 ], + "faces": { + "north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 7.0, 12.0, 4.0 ], + "to": [ 8.0, 13.0, 5.0 ], + "faces": { + "north": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "east": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "south": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "west": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "up": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 6.0, 12.0, 4.0 ], + "to": [ 7.0, 13.0, 5.0 ], + "faces": { + "north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 5.0, 12.0, 4.0 ], + "to": [ 6.0, 13.0, 5.0 ], + "faces": { + "north": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "east": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "south": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "west": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "up": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 4.0, 12.0, 4.0 ], + "to": [ 5.0, 13.0, 5.0 ], + "faces": { + "north": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "east": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "south": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "west": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "up": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 3.0, 0.0, 5.0 ], + "to": [ 4.0, 13.0, 6.0 ], + "faces": { + "north": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "east": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "south": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 13.0 ] }, + "west": { "texture": "#0", "uv": [ 0.0, 0.0, -9.0, 10.0 ] }, + "up": { "texture": "#0", "uv": [ 0.0, 0.0, 5.0, -1.0 ] }, + "down": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 5.0, 10.0, 3.0 ], + "to": [ 6.0, 13.0, 4.0 ], + "faces": { + "north": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "east": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "south": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "west": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 3.0 ] }, + "up": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 3.0, 12.0, 4.0 ], + "to": [ 4.0, 13.0, 5.0 ], + "faces": { + "north": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "east": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "south": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "west": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "up": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "down": { "texture": "#0", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } + } + }, + { + "name": "Cube", + "from": [ 2.0, 11.0, 0.0 ], + "to": [ 3.0, 12.0, 4.0 ], + "faces": { + "north": { "texture": "#2", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "east": { "texture": "#2", "uv": [ 0.0, 0.0, 4.0, 1.0 ] }, + "south": { "texture": "#2", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, + "west": { "texture": "#2", "uv": [ 0.0, 0.0, 4.0, 1.0 ] }, + "up": { "texture": "#2", "uv": [ 0.0, 0.0, 1.0, 4.0 ] }, + "down": { "texture": "#2", "uv": [ 0.0, 0.0, 1.0, 4.0 ] } + } + } + ] +} \ No newline at end of file diff --git a/old/main/resources/assets/rm/models/item/random_axe.json b/old/main/resources/assets/rm/models/item/random_axe.json new file mode 100644 index 0000000..f5e108c --- /dev/null +++ b/old/main/resources/assets/rm/models/item/random_axe.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "rm:items/random_axe" + } +} \ No newline at end of file diff --git a/old/main/resources/assets/rm/models/item/random_block.json b/old/main/resources/assets/rm/models/item/random_block.json new file mode 100644 index 0000000..c5e6b0a --- /dev/null +++ b/old/main/resources/assets/rm/models/item/random_block.json @@ -0,0 +1,4 @@ + +{ + "parent": "rm:block/random_block" +} \ No newline at end of file diff --git a/old/main/resources/assets/rm/models/item/random_boots.json b/old/main/resources/assets/rm/models/item/random_boots.json new file mode 100644 index 0000000..0481a0d --- /dev/null +++ b/old/main/resources/assets/rm/models/item/random_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "rm:items/random_boots" + } +} \ No newline at end of file diff --git a/old/main/resources/assets/rm/models/item/random_chestplate.json b/old/main/resources/assets/rm/models/item/random_chestplate.json new file mode 100644 index 0000000..e78e422 --- /dev/null +++ b/old/main/resources/assets/rm/models/item/random_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "rm:items/random_chestplate" + } +} \ No newline at end of file diff --git a/old/main/resources/assets/rm/models/item/random_helmet.json b/old/main/resources/assets/rm/models/item/random_helmet.json new file mode 100644 index 0000000..c9295d6 --- /dev/null +++ b/old/main/resources/assets/rm/models/item/random_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "rm:items/random_helmet" + } +} \ No newline at end of file diff --git a/old/main/resources/assets/rm/models/item/random_hoe.json b/old/main/resources/assets/rm/models/item/random_hoe.json new file mode 100644 index 0000000..1d6761b --- /dev/null +++ b/old/main/resources/assets/rm/models/item/random_hoe.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "rm:items/random_hoe" + } +} \ No newline at end of file diff --git a/old/main/resources/assets/rm/models/item/random_ingot.json b/old/main/resources/assets/rm/models/item/random_ingot.json new file mode 100644 index 0000000..26f9828 --- /dev/null +++ b/old/main/resources/assets/rm/models/item/random_ingot.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "rm:items/random_ingot" + } +} \ No newline at end of file diff --git a/old/main/resources/assets/rm/models/item/random_leggings.json b/old/main/resources/assets/rm/models/item/random_leggings.json new file mode 100644 index 0000000..d498407 --- /dev/null +++ b/old/main/resources/assets/rm/models/item/random_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "rm:items/random_leggings" + } +} \ No newline at end of file diff --git a/old/main/resources/assets/rm/models/item/random_meat_cooked.json b/old/main/resources/assets/rm/models/item/random_meat_cooked.json new file mode 100644 index 0000000..f90d982 --- /dev/null +++ b/old/main/resources/assets/rm/models/item/random_meat_cooked.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "rm:items/random_meat_cooked" + } +} \ No newline at end of file diff --git a/old/main/resources/assets/rm/models/item/random_meat_raw.json b/old/main/resources/assets/rm/models/item/random_meat_raw.json new file mode 100644 index 0000000..3b23f2c --- /dev/null +++ b/old/main/resources/assets/rm/models/item/random_meat_raw.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "rm:items/random_meat_raw" + } +} \ No newline at end of file diff --git a/old/main/resources/assets/rm/models/item/random_ore.json b/old/main/resources/assets/rm/models/item/random_ore.json new file mode 100644 index 0000000..a53f0cf --- /dev/null +++ b/old/main/resources/assets/rm/models/item/random_ore.json @@ -0,0 +1,4 @@ + +{ + "parent": "rm:block/random_ore" +} \ No newline at end of file diff --git a/old/main/resources/assets/rm/models/item/random_pickaxe.json b/old/main/resources/assets/rm/models/item/random_pickaxe.json new file mode 100644 index 0000000..cc74aae --- /dev/null +++ b/old/main/resources/assets/rm/models/item/random_pickaxe.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "rm:items/random_pickaxe" + } +} \ No newline at end of file diff --git a/old/main/resources/assets/rm/models/item/random_shovel.json b/old/main/resources/assets/rm/models/item/random_shovel.json new file mode 100644 index 0000000..a1498d1 --- /dev/null +++ b/old/main/resources/assets/rm/models/item/random_shovel.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "rm:items/random_shovel" + } +} \ No newline at end of file diff --git a/old/main/resources/assets/rm/models/item/random_sword.json b/old/main/resources/assets/rm/models/item/random_sword.json new file mode 100644 index 0000000..2fb65f6 --- /dev/null +++ b/old/main/resources/assets/rm/models/item/random_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "rm:items/random_sword" + } +} \ No newline at end of file diff --git a/old/main/resources/assets/rm/models/item/towel_hanger.json b/old/main/resources/assets/rm/models/item/towel_hanger.json new file mode 100644 index 0000000..ff32e50 --- /dev/null +++ b/old/main/resources/assets/rm/models/item/towel_hanger.json @@ -0,0 +1,3 @@ +{ + "parent": "rm:block/towel_hanger" +} \ No newline at end of file diff --git a/old/main/resources/assets/rm/recipes/random_axe.json b/old/main/resources/assets/rm/recipes/random_axe.json new file mode 100644 index 0000000..194b0bb --- /dev/null +++ b/old/main/resources/assets/rm/recipes/random_axe.json @@ -0,0 +1,28 @@ +{ + "type": "minecraft:crafting_shaped", + + "pattern": + [ + "SS ", + "SW ", + " W " + ], + + "key": + { + "S": + { + "item": "rm:random_ingot" + }, + "W": + { + "item": "minecraft:stick" + } + }, + + "result": + { + "item": "rm:random_axe", + "count": 1 + } +} \ No newline at end of file diff --git a/old/main/resources/assets/rm/recipes/random_block.json b/old/main/resources/assets/rm/recipes/random_block.json new file mode 100644 index 0000000..9707eae --- /dev/null +++ b/old/main/resources/assets/rm/recipes/random_block.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + + "pattern": + [ + "SSS", + "SSS", + "SSS" + ], + + "key": + { + "S": + { + "item": "rm:random_ingot" + } + }, + + "result": + { + "item": "rm:random_block", + "count": 1 + } +} \ No newline at end of file diff --git a/old/main/resources/assets/rm/recipes/random_boots.json b/old/main/resources/assets/rm/recipes/random_boots.json new file mode 100644 index 0000000..128cbad --- /dev/null +++ b/old/main/resources/assets/rm/recipes/random_boots.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + + "pattern": + [ + " ", + "S S", + "S S" + ], + + "key": + { + "S": + { + "item": "rm:random_ingot" + } + }, + + "result": + { + "item": "rm:random_boots", + "count": 1 + } +} \ No newline at end of file diff --git a/old/main/resources/assets/rm/recipes/random_chestplate.json b/old/main/resources/assets/rm/recipes/random_chestplate.json new file mode 100644 index 0000000..4b72fd5 --- /dev/null +++ b/old/main/resources/assets/rm/recipes/random_chestplate.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + + "pattern": + [ + "S S", + "SSS", + "SSS" + ], + + "key": + { + "S": + { + "item": "rm:random_ingot" + } + }, + + "result": + { + "item": "rm:random_chestplate", + "count": 1 + } +} \ No newline at end of file diff --git a/old/main/resources/assets/rm/recipes/random_helmet.json b/old/main/resources/assets/rm/recipes/random_helmet.json new file mode 100644 index 0000000..a51daf6 --- /dev/null +++ b/old/main/resources/assets/rm/recipes/random_helmet.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + + "pattern": + [ + "SSS", + "S S", + " " + ], + + "key": + { + "S": + { + "item": "rm:random_ingot" + } + }, + + "result": + { + "item": "rm:random_helmet", + "count": 1 + } +} \ No newline at end of file diff --git a/old/main/resources/assets/rm/recipes/random_hoe.json b/old/main/resources/assets/rm/recipes/random_hoe.json new file mode 100644 index 0000000..20a7c3d --- /dev/null +++ b/old/main/resources/assets/rm/recipes/random_hoe.json @@ -0,0 +1,28 @@ +{ + "type": "minecraft:crafting_shaped", + + "pattern": + [ + " SS", + " W ", + " W " + ], + + "key": + { + "S": + { + "item": "rm:random_ingot" + }, + "W": + { + "item": "minecraft:stick" + } + }, + + "result": + { + "item": "rm:random_hoe", + "count": 1 + } +} \ No newline at end of file diff --git a/old/main/resources/assets/rm/recipes/random_leggings.json b/old/main/resources/assets/rm/recipes/random_leggings.json new file mode 100644 index 0000000..a55299d --- /dev/null +++ b/old/main/resources/assets/rm/recipes/random_leggings.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + + "pattern": + [ + "SSS", + "S S", + "S S" + ], + + "key": + { + "S": + { + "item": "rm:random_ingot" + } + }, + + "result": + { + "item": "rm:random_leggings", + "count": 1 + } +} \ No newline at end of file diff --git a/old/main/resources/assets/rm/recipes/random_pickaxe.json b/old/main/resources/assets/rm/recipes/random_pickaxe.json new file mode 100644 index 0000000..c1aad2a --- /dev/null +++ b/old/main/resources/assets/rm/recipes/random_pickaxe.json @@ -0,0 +1,28 @@ +{ + "type": "minecraft:crafting_shaped", + + "pattern": + [ + "SSS", + " W ", + " W " + ], + + "key": + { + "S": + { + "item": "rm:random_ingot" + }, + "W": + { + "item": "minecraft:stick" + } + }, + + "result": + { + "item": "rm:random_pickaxe", + "count": 1 + } +} \ No newline at end of file diff --git a/old/main/resources/assets/rm/recipes/random_shovel.json b/old/main/resources/assets/rm/recipes/random_shovel.json new file mode 100644 index 0000000..e28d976 --- /dev/null +++ b/old/main/resources/assets/rm/recipes/random_shovel.json @@ -0,0 +1,28 @@ +{ + "type": "minecraft:crafting_shaped", + + "pattern": + [ + " S ", + " W ", + " W " + ], + + "key": + { + "S": + { + "item": "rm:random_ingot" + }, + "W": + { + "item": "minecraft:stick" + } + }, + + "result": + { + "item": "rm:random_shovel", + "count": 1 + } +} \ No newline at end of file diff --git a/old/main/resources/assets/rm/recipes/random_sword.json b/old/main/resources/assets/rm/recipes/random_sword.json new file mode 100644 index 0000000..57311d6 --- /dev/null +++ b/old/main/resources/assets/rm/recipes/random_sword.json @@ -0,0 +1,28 @@ +{ + "type": "minecraft:crafting_shaped", + + "pattern": + [ + " S ", + " S ", + " W " + ], + + "key": + { + "S": + { + "item": "rm:random_ingot" + }, + "W": + { + "item": "minecraft:stick" + } + }, + + "result": + { + "item": "rm:random_sword", + "count": 1 + } +} \ No newline at end of file diff --git a/old/main/resources/assets/rm/textures/blocks/random_block.png b/old/main/resources/assets/rm/textures/blocks/random_block.png new file mode 100644 index 0000000..fb77116 Binary files /dev/null and b/old/main/resources/assets/rm/textures/blocks/random_block.png differ diff --git a/old/main/resources/assets/rm/textures/blocks/random_ore.png b/old/main/resources/assets/rm/textures/blocks/random_ore.png new file mode 100644 index 0000000..dff7148 Binary files /dev/null and b/old/main/resources/assets/rm/textures/blocks/random_ore.png differ diff --git a/old/main/resources/assets/rm/textures/items/random_axe.png b/old/main/resources/assets/rm/textures/items/random_axe.png new file mode 100644 index 0000000..ba5cb72 Binary files /dev/null and b/old/main/resources/assets/rm/textures/items/random_axe.png differ diff --git a/old/main/resources/assets/rm/textures/items/random_boots.png b/old/main/resources/assets/rm/textures/items/random_boots.png new file mode 100644 index 0000000..a95cd02 Binary files /dev/null and b/old/main/resources/assets/rm/textures/items/random_boots.png differ diff --git a/old/main/resources/assets/rm/textures/items/random_chestplate.png b/old/main/resources/assets/rm/textures/items/random_chestplate.png new file mode 100644 index 0000000..bfb79fb Binary files /dev/null and b/old/main/resources/assets/rm/textures/items/random_chestplate.png differ diff --git a/old/main/resources/assets/rm/textures/items/random_helmet.png b/old/main/resources/assets/rm/textures/items/random_helmet.png new file mode 100644 index 0000000..df86531 Binary files /dev/null and b/old/main/resources/assets/rm/textures/items/random_helmet.png differ diff --git a/old/main/resources/assets/rm/textures/items/random_hoe.png b/old/main/resources/assets/rm/textures/items/random_hoe.png new file mode 100644 index 0000000..cb9978c Binary files /dev/null and b/old/main/resources/assets/rm/textures/items/random_hoe.png differ diff --git a/old/main/resources/assets/rm/textures/items/random_ingot.png b/old/main/resources/assets/rm/textures/items/random_ingot.png new file mode 100644 index 0000000..9de6343 Binary files /dev/null and b/old/main/resources/assets/rm/textures/items/random_ingot.png differ diff --git a/old/main/resources/assets/rm/textures/items/random_leggings.png b/old/main/resources/assets/rm/textures/items/random_leggings.png new file mode 100644 index 0000000..397a879 Binary files /dev/null and b/old/main/resources/assets/rm/textures/items/random_leggings.png differ diff --git a/old/main/resources/assets/rm/textures/items/random_meat_cooked.png b/old/main/resources/assets/rm/textures/items/random_meat_cooked.png new file mode 100644 index 0000000..4ecedaf Binary files /dev/null and b/old/main/resources/assets/rm/textures/items/random_meat_cooked.png differ diff --git a/old/main/resources/assets/rm/textures/items/random_meat_raw.png b/old/main/resources/assets/rm/textures/items/random_meat_raw.png new file mode 100644 index 0000000..f9ca088 Binary files /dev/null and b/old/main/resources/assets/rm/textures/items/random_meat_raw.png differ diff --git a/old/main/resources/assets/rm/textures/items/random_pickaxe.png b/old/main/resources/assets/rm/textures/items/random_pickaxe.png new file mode 100644 index 0000000..6652b8b Binary files /dev/null and b/old/main/resources/assets/rm/textures/items/random_pickaxe.png differ diff --git a/old/main/resources/assets/rm/textures/items/random_shovel.png b/old/main/resources/assets/rm/textures/items/random_shovel.png new file mode 100644 index 0000000..1907816 Binary files /dev/null and b/old/main/resources/assets/rm/textures/items/random_shovel.png differ diff --git a/old/main/resources/assets/rm/textures/items/random_sword.png b/old/main/resources/assets/rm/textures/items/random_sword.png new file mode 100644 index 0000000..d993294 Binary files /dev/null and b/old/main/resources/assets/rm/textures/items/random_sword.png differ diff --git a/old/main/resources/assets/rm/textures/models/armor/random_ingot_layer_1.png b/old/main/resources/assets/rm/textures/models/armor/random_ingot_layer_1.png new file mode 100644 index 0000000..6d90675 Binary files /dev/null and b/old/main/resources/assets/rm/textures/models/armor/random_ingot_layer_1.png differ diff --git a/old/main/resources/assets/rm/textures/models/armor/random_ingot_layer_2.png b/old/main/resources/assets/rm/textures/models/armor/random_ingot_layer_2.png new file mode 100644 index 0000000..1cb598a Binary files /dev/null and b/old/main/resources/assets/rm/textures/models/armor/random_ingot_layer_2.png differ diff --git a/old/main/resources/mcmod.info b/old/main/resources/mcmod.info new file mode 100644 index 0000000..9b6d0c0 --- /dev/null +++ b/old/main/resources/mcmod.info @@ -0,0 +1,16 @@ +[ +{ + "modid": "rm", + "name": "Random Mod", + "description": "An random mod.", + "version": "1.0", + "mcversion": "1.12.2", + "url": "https://www.youtube.com/channel/UC4cXh5_kRY7xcZIgglTz9sg", + "updateUrl": "", + "authorList": ["CanadianGamer"], + "credits": "HI:)", + "logoFile": "", + "screenshots": [], + "dependencies": [] +} +] diff --git a/old/main/resources/pack.mcmeta b/old/main/resources/pack.mcmeta new file mode 100644 index 0000000..4018267 --- /dev/null +++ b/old/main/resources/pack.mcmeta @@ -0,0 +1,7 @@ +{ + "pack": { + "description": "examplemod resources", + "pack_format": 3, + "_comment": "A pack_format of 3 should be used starting with Minecraft 1.11. All resources, including language files, should be lowercase (eg: en_us.lang). A pack_format of 2 will load your mod resources with LegacyV2Adapter, which requires language files to have uppercase letters (eg: en_US.lang)." + } +}