diff --git a/build.gradle b/build.gradle index a7438deab..bc8d7d2a0 100644 --- a/build.gradle +++ b/build.gradle @@ -57,6 +57,13 @@ allprojects { group = "net.fabricmc.fabric-api" + sourceSets { + testmod { + compileClasspath += main.compileClasspath + runtimeClasspath += main.runtimeClasspath + } + } + dependencies { minecraft "com.mojang:minecraft:$Globals.mcVersion" mappings "net.fabricmc:yarn:${Globals.mcVersion}${Globals.yarnVersion}:v2" @@ -149,6 +156,11 @@ task javadocJar(type: Jar) { build.dependsOn javadocJar subprojects { + + dependencies { + testmodCompile sourceSets.main.output + } + task remapMavenJar(type: Copy, dependsOn: remapJar) { afterEvaluate { from("${project.buildDir}/libs/$archivesBaseName-${version}.jar") @@ -228,11 +240,17 @@ task licenseFormatAll subprojects { p -> licenseFormatAll.dependsOn("${p.path}:licenseFormat") } subprojects.each { remapJar.dependsOn("${it.path}:remapJar") } +sourceSets { + testmod +} + dependencies { afterEvaluate { subprojects.each { compile project(path: ":${it.name}", configuration: "dev") include project("${it.name}:") + + testmodCompile project("${it.name}:").sourceSets.testmod.output } } } diff --git a/checkstyle.xml b/checkstyle.xml index 179b92927..c2dd7d56b 100644 --- a/checkstyle.xml +++ b/checkstyle.xml @@ -187,7 +187,7 @@ - largely unconstained trailing subpackages --> + value="^net\.fabricmc\.fabric\.(api(?!\.common\.)(\.client|\.server|)(\.(?!client\.|server\.)[a-z]+[a-rt-z])+\.v[1-9][0-9]*|(impl|mixin|test)(?!\.common\.)(\.client|\.server|)(\.(?!client\.|server\.)[a-z]+[a-rt-z])+|api\.(event|util|biomes\.v1|registry|client\.screen|container|block|entity|client\.itemgroup|client\.keybinding|tag|tools|client\.model|network|server|client\.render|resource|client\.texture))(|\.[a-z]+(\.[a-z0-9]+)*)$"/> diff --git a/fabric-item-groups-v0/src/testmod/java/net/fabricmc/fabric/test/item/group/ItemGroupTest.java b/fabric-item-groups-v0/src/testmod/java/net/fabricmc/fabric/test/item/group/ItemGroupTest.java new file mode 100644 index 000000000..a8c6cdbc5 --- /dev/null +++ b/fabric-item-groups-v0/src/testmod/java/net/fabricmc/fabric/test/item/group/ItemGroupTest.java @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2016, 2017, 2018, 2019 FabricMC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.fabricmc.fabric.test.item.group; + +import net.minecraft.item.ItemGroup; +import net.minecraft.item.ItemStack; +import net.minecraft.item.Items; +import net.minecraft.util.Identifier; +import net.minecraft.util.registry.Registry; + +import net.fabricmc.api.ModInitializer; +import net.fabricmc.fabric.api.client.itemgroup.FabricItemGroupBuilder; + +public class ItemGroupTest implements ModInitializer { + //Adds an item group with all items in it + private static final ItemGroup ITEM_GROUP = FabricItemGroupBuilder.create(new Identifier("fabric-item-groups-v0-testmod", "test_group")) + .icon(() -> new ItemStack(Items.DIAMOND)) + .appendItems(stacks -> + Registry.ITEM.stream() + .map(ItemStack::new) + .forEach(stacks::add) + ).build(); + + @Override + public void onInitialize() { + } +} diff --git a/fabric-item-groups-v0/src/testmod/resources/fabric.mod.json b/fabric-item-groups-v0/src/testmod/resources/fabric.mod.json new file mode 100644 index 000000000..8485d086e --- /dev/null +++ b/fabric-item-groups-v0/src/testmod/resources/fabric.mod.json @@ -0,0 +1,16 @@ +{ + "schemaVersion": 1, + "id": "fabric-item-groups-v0-testmod", + "name": "Fabric Item Groups (v0) Test Mod", + "version": "1.0.0", + "environment": "*", + "license": "Apache-2.0", + "depends": { + "fabric-item-groups-v0": "*" + }, + "entrypoints": { + "main": [ + "net.fabricmc.fabric.test.item.group.ItemGroupTest" + ] + } +} diff --git a/fabric-testmods/java/net/fabricmc/fabric/block/FireMod.java b/fabric-testmods/java/net/fabricmc/fabric/block/FireMod.java deleted file mode 100644 index c41acd010..000000000 --- a/fabric-testmods/java/net/fabricmc/fabric/block/FireMod.java +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright (c) 2016, 2017, 2018 FabricMC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package net.fabricmc.fabric.block; - -import net.fabricmc.api.ModInitializer; -import net.fabricmc.fabric.api.registry.FlammableBlockRegistry; -import net.minecraft.block.Blocks; - -public class FireMod implements ModInitializer { - @Override - public void onInitialize() { - FlammableBlockRegistry.getDefaultInstance().add(Blocks.STONE, 100, 100); - FlammableBlockRegistry.getDefaultInstance().remove(Blocks.OAK_PLANKS); - } -} diff --git a/fabric-testmods/java/net/fabricmc/fabric/colormapper/ColorProviderMod.java b/fabric-testmods/java/net/fabricmc/fabric/colormapper/ColorProviderMod.java deleted file mode 100644 index 12fc7008a..000000000 --- a/fabric-testmods/java/net/fabricmc/fabric/colormapper/ColorProviderMod.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (c) 2016, 2017, 2018 FabricMC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package net.fabricmc.fabric.colormapper; - -import net.fabricmc.api.ClientModInitializer; -import net.fabricmc.fabric.api.client.render.ColorProviderRegistry; -import net.minecraft.block.Blocks; -import net.minecraft.client.render.block.BlockColorMapper; -import net.minecraft.item.Items; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - -public class ColorProviderMod implements ClientModInitializer { - private static final boolean ENABLED = true; - - private static final Logger LOGGER = LogManager.getLogger(); - - @Override - public void onInitializeClient() { - if (!ENABLED) return; - LOGGER.info("Initialising ColorProviderMod"); - - // Redstone is now the same color as grass - ColorProviderRegistry.BLOCK.register((block, world, pos, layer) -> { - BlockColorMapper provider = ColorProviderRegistry.BLOCK.get(Blocks.GRASS); - return provider == null ? -1 : provider.getColor(block, world, pos, layer); - }, Blocks.REDSTONE_WIRE); - - // Make white dye glow red. - ColorProviderRegistry.ITEM.register((item, layer) -> - (int) (64 * (Math.sin(System.currentTimeMillis() / 5e2) + 3)) << 16, - Items.WHITE_DYE); - } -} diff --git a/fabric-testmods/java/net/fabricmc/fabric/commands/CommandMod.java b/fabric-testmods/java/net/fabricmc/fabric/commands/CommandMod.java deleted file mode 100644 index 732453d93..000000000 --- a/fabric-testmods/java/net/fabricmc/fabric/commands/CommandMod.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright (c) 2016, 2017, 2018 FabricMC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package net.fabricmc.fabric.commands; - -import com.mojang.brigadier.Command; -import net.fabricmc.api.ModInitializer; -import net.fabricmc.fabric.api.registry.CommandRegistry; -import net.minecraft.server.command.CommandManager; -import net.minecraft.text.StringTextComponent; - -public class CommandMod implements ModInitializer { - @Override - public void onInitialize() { - CommandRegistry.INSTANCE.register(false, (dispatcher) -> dispatcher.register( - CommandManager.literal("fabric_test") - .executes(c -> { - c.getSource().sendFeedback(new StringTextComponent("Command works!"), false); - return Command.SINGLE_SUCCESS; - }) - )); - - CommandRegistry.INSTANCE.register(true, (dispatcher) -> dispatcher.register( - CommandManager.literal("fabric_test_dedicated") - .executes(c -> { - c.getSource().sendFeedback(new StringTextComponent("Command works!"), false); - return Command.SINGLE_SUCCESS; - }) - )); - } -} diff --git a/fabric-testmods/java/net/fabricmc/fabric/containers/ContainerMod.java b/fabric-testmods/java/net/fabricmc/fabric/containers/ContainerMod.java deleted file mode 100644 index 67d93b52d..000000000 --- a/fabric-testmods/java/net/fabricmc/fabric/containers/ContainerMod.java +++ /dev/null @@ -1,106 +0,0 @@ -/* - * Copyright (c) 2016, 2017, 2018 FabricMC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package net.fabricmc.fabric.containers; - -import net.fabricmc.api.ModInitializer; -import net.fabricmc.fabric.api.container.ContainerProviderRegistry; -import net.fabricmc.fabric.api.registry.CommandRegistry; -import net.minecraft.container.Container; -import net.minecraft.container.Slot; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.entity.player.PlayerInventory; -import net.minecraft.server.command.CommandManager; -import net.minecraft.util.Identifier; -import net.minecraft.util.math.BlockPos; - -public class ContainerMod implements ModInitializer { - - public static final Identifier EXAMPLE_CONTAINER = new Identifier("fabric_container", "example_container"); - public static final Identifier EXAMPLE_CONTAINER_2 = new Identifier("fabric_container", "example_container_2"); - public static final Identifier EXAMPLE_INVENTORY_CONTAINER = new Identifier("fabric_container", "example_inventory_container"); - - @Override - public void onInitialize() { - //Registers a basic server side command that shows that the openContainer works from the server side. - CommandRegistry.INSTANCE.register(false, serverCommandSourceCommandDispatcher -> - serverCommandSourceCommandDispatcher.register(CommandManager - .literal("container") - .executes(context -> { - BlockPos pos = new BlockPos(context.getSource().getEntity()); - - //Opens a container, sending the block pos - ContainerProviderRegistry.INSTANCE.openContainer(EXAMPLE_INVENTORY_CONTAINER, context.getSource().getPlayer(), buf -> buf.writeBlockPos(pos)); - - return 1; - }))); - - //Registers a container factory that opens our example Container, this reads the block pos from the buffer - ContainerProviderRegistry.INSTANCE.registerFactory(EXAMPLE_CONTAINER, (syncId, identifier, player, buf) -> { - BlockPos pos = buf.readBlockPos(); - return new ExampleContainer(syncId, pos, player); - }); - ContainerProviderRegistry.INSTANCE.registerFactory(EXAMPLE_CONTAINER_2, (syncId, identifier, player, buf) -> { - BlockPos pos = buf.readBlockPos(); - return new ExampleContainer(syncId, pos, player); - }); - ContainerProviderRegistry.INSTANCE.registerFactory(EXAMPLE_INVENTORY_CONTAINER, (syncId, identifier, player, buf) -> { - return new ExampleInventoryContainer(syncId, player); - }); - } - - //A basic container that prints to console when opened, this should print on the client + server - public static class ExampleContainer extends Container { - public final PlayerInventory playerInventory; - BlockPos pos; - - public ExampleContainer(int syncId, BlockPos pos, PlayerEntity playerEntity) { - super(null, syncId); - this.pos = pos; - this.playerInventory = playerEntity.inventory; - System.out.println("Opened container, " + pos); - } - - @Override - public boolean canUse(PlayerEntity playerEntity) { - return true; - } - } - - public static class ExampleInventoryContainer extends Container { - public final PlayerInventory playerInventory; - BlockPos pos; - - public ExampleInventoryContainer(int syncId, PlayerEntity playerEntity) { - super(null, syncId); - this.playerInventory = playerEntity.inventory; - for (int i = 0; i < 3; ++i) { - for (int j = 0; j < 9; ++j) { - this.addSlot(new Slot(playerInventory, j + i * 9 + 9, 8 + j * 18, 84 + i * 18)); - } - } - - for (int j = 0; j < 9; ++j) { - this.addSlot(new Slot(playerInventory, j, 8 + j * 18, 142)); - } - } - - @Override - public boolean canUse(PlayerEntity playerEntity) { - return true; - } - } -} diff --git a/fabric-testmods/java/net/fabricmc/fabric/containers/ContainerModClient.java b/fabric-testmods/java/net/fabricmc/fabric/containers/ContainerModClient.java deleted file mode 100644 index 8dccea4f0..000000000 --- a/fabric-testmods/java/net/fabricmc/fabric/containers/ContainerModClient.java +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Copyright (c) 2016, 2017, 2018 FabricMC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package net.fabricmc.fabric.containers; - -import com.mojang.blaze3d.platform.GlStateManager; -import net.fabricmc.api.ClientModInitializer; -import net.fabricmc.fabric.api.client.screen.ScreenProviderRegistry; -import net.minecraft.client.gui.ContainerScreen; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.text.StringTextComponent; -import net.minecraft.util.Identifier; -import net.minecraft.util.math.BlockPos; - -public class ContainerModClient implements ClientModInitializer { - - @Override - public void onInitializeClient() { - //Registers a gui factory that opens our example gui, this reads the block pos from the buffer - ScreenProviderRegistry.INSTANCE.registerFactory(ContainerMod.EXAMPLE_CONTAINER, (syncId, identifier, player, buf) -> { - BlockPos pos = buf.readBlockPos(); - return new ExampleContainerScreen(syncId, pos, player); - }); - - //Registers a gui factory that opens our example gui, this uses the container created by ContainerProviderRegistry - ScreenProviderRegistry.INSTANCE.registerFactory(ContainerMod.EXAMPLE_CONTAINER_2, ExampleContainerScreen2::new); - - //Registers a gui factory that opens our example inventory gui - ScreenProviderRegistry.INSTANCE.registerFactory(ContainerMod.EXAMPLE_INVENTORY_CONTAINER, ExampleInventoryContainerScreen::new); - } - - //A container gui that shows the block pos that was sent - public static class ExampleContainerScreen extends ContainerScreen { - - BlockPos pos; - - public ExampleContainerScreen(int syncId, BlockPos pos, PlayerEntity playerEntity) { - super(new ContainerMod.ExampleContainer(syncId, pos, playerEntity), playerEntity.inventory, new StringTextComponent("Example GUI")); - this.pos = pos; - } - - @Override - protected void drawBackground(float v, int i, int i1) { - font.draw(pos.toString(), width / 2, height / 2, 0); - } - } - - - //A container gui that shows how you can take in a container provided by a ContainerScreenFactory - public static class ExampleContainerScreen2 extends ContainerScreen { - - BlockPos pos; - - public ExampleContainerScreen2(ContainerMod.ExampleContainer container) { - super(container, container.playerInventory, new StringTextComponent("Example GUI 2")); - this.pos = container.pos; - } - - @Override - protected void drawBackground(float v, int i, int i1) { - font.draw(pos.toString(), width / 2, height / 2, 0); - } - } - - //A container gui that has the player's inventory - public static class ExampleInventoryContainerScreen extends ContainerScreen { - - private static final Identifier BG_TEXTURE = new Identifier("textures/gui/container/horse.png"); - - public ExampleInventoryContainerScreen(ContainerMod.ExampleInventoryContainer container) { - super(container, container.playerInventory, new StringTextComponent("Example Inventory GUI")); - } - - @Override - protected void drawBackground(float v, int i, int i1) { - GlStateManager.color4f(1.0F, 1.0F, 1.0F, 1.0F); - minecraft.getTextureManager().bindTexture(BG_TEXTURE); - this.blit(left, top, 0, 0, width, height); - } - } - -} diff --git a/fabric-testmods/java/net/fabricmc/fabric/events/PickBlockEventModClient.java b/fabric-testmods/java/net/fabricmc/fabric/events/PickBlockEventModClient.java deleted file mode 100644 index 9d4a0044b..000000000 --- a/fabric-testmods/java/net/fabricmc/fabric/events/PickBlockEventModClient.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright (c) 2016, 2017, 2018 FabricMC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package net.fabricmc.fabric.events; - -import net.fabricmc.api.ClientModInitializer; -import net.fabricmc.fabric.api.event.client.player.ClientPickBlockApplyCallback; -import net.fabricmc.fabric.api.event.client.player.ClientPickBlockGatherCallback; -import net.minecraft.block.BlockState; -import net.minecraft.block.Blocks; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.hit.BlockHitResult; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.BlockView; - -public class PickBlockEventModClient implements ClientModInitializer { - @Override - public void onInitializeClient() { - ClientPickBlockGatherCallback.EVENT.register((player, result) -> { - if (result instanceof BlockHitResult) { - BlockView view = player.getEntityWorld(); - BlockPos pos = ((BlockHitResult) result).getBlockPos(); - BlockState state = view.getBlockState(pos); - - if (state.getBlock() == Blocks.STONE) { - return new ItemStack(Blocks.OAK_WOOD); - } - } - - return ItemStack.EMPTY; - }); - - ClientPickBlockApplyCallback.EVENT.register((player, result, stack) -> { - if (stack.getItem() == Item.getItemFromBlock(Blocks.OAK_WOOD)) { - return new ItemStack(Blocks.ACACIA_WOOD); - } else { - return stack; - } - }); - } -} diff --git a/fabric-testmods/java/net/fabricmc/fabric/events/ServerEventMod.java b/fabric-testmods/java/net/fabricmc/fabric/events/ServerEventMod.java deleted file mode 100644 index c7ec708f0..000000000 --- a/fabric-testmods/java/net/fabricmc/fabric/events/ServerEventMod.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright (c) 2016, 2017, 2018 FabricMC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package net.fabricmc.fabric.events; - -import net.fabricmc.api.ModInitializer; -import net.fabricmc.fabric.api.event.server.ServerStartCallback; -import net.fabricmc.fabric.api.event.server.ServerStopCallback; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - -public class ServerEventMod implements ModInitializer { - private static final Logger LOGGER = LogManager.getLogger(); - - @Override - public void onInitialize() { - ServerStartCallback.EVENT.register(server -> LOGGER.info("Server starting (" + server + ")")); - ServerStopCallback.EVENT.register(server -> LOGGER.info("Server stopping (" + server + ")")); - } -} diff --git a/fabric-testmods/java/net/fabricmc/fabric/fluidrender/FluidRendererModClient.java b/fabric-testmods/java/net/fabricmc/fabric/fluidrender/FluidRendererModClient.java deleted file mode 100644 index 98cba6df8..000000000 --- a/fabric-testmods/java/net/fabricmc/fabric/fluidrender/FluidRendererModClient.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright (c) 2016, 2017, 2018 FabricMC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package net.fabricmc.fabric.fluidrender; - -import net.fabricmc.api.ClientModInitializer; -import net.fabricmc.fabric.api.client.render.FluidRenderHandler; -import net.fabricmc.fabric.api.client.render.FluidRenderHandlerRegistry; -import net.fabricmc.fabric.api.resource.ResourceManagerHelper; -import net.fabricmc.fabric.api.resource.SimpleSynchronousResourceReloadListener; -import net.minecraft.fluid.Fluids; -import net.minecraft.resource.ResourceManager; -import net.minecraft.resource.ResourceType; -import net.minecraft.util.Identifier; - -public class FluidRendererModClient implements ClientModInitializer, SimpleSynchronousResourceReloadListener { - @Override - public void onInitializeClient() { - ResourceManagerHelper.get(ResourceType.ASSETS).registerReloadListener(this); - } - - @Override - public Identifier getFabricId() { - return new Identifier("fabric:fluid_renderer_test"); - } - - @Override - public void apply(ResourceManager rm) { - FluidRenderHandler lavaHandler = FluidRenderHandlerRegistry.INSTANCE.get(Fluids.LAVA); - FluidRenderHandlerRegistry.INSTANCE.register(Fluids.WATER, lavaHandler); - FluidRenderHandlerRegistry.INSTANCE.register(Fluids.FLOWING_WATER, lavaHandler); - } -} diff --git a/fabric-testmods/java/net/fabricmc/fabric/item/FuelMod.java b/fabric-testmods/java/net/fabricmc/fabric/item/FuelMod.java deleted file mode 100644 index d03da73ba..000000000 --- a/fabric-testmods/java/net/fabricmc/fabric/item/FuelMod.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright (c) 2016, 2017, 2018 FabricMC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package net.fabricmc.fabric.item; - -import net.fabricmc.api.ModInitializer; -import net.fabricmc.fabric.api.registry.FuelRegistry; -import net.minecraft.block.Blocks; -import net.minecraft.item.Items; - -public class FuelMod implements ModInitializer { - @Override - public void onInitialize() { - FuelRegistry.INSTANCE.add(Items.APPLE, 200); - FuelRegistry.INSTANCE.remove(Blocks.OAK_PLANKS); - } -} diff --git a/fabric-testmods/java/net/fabricmc/fabric/itemgroup/ItemGroupMod.java b/fabric-testmods/java/net/fabricmc/fabric/itemgroup/ItemGroupMod.java deleted file mode 100644 index 79682e56e..000000000 --- a/fabric-testmods/java/net/fabricmc/fabric/itemgroup/ItemGroupMod.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright (c) 2016, 2017, 2018 FabricMC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package net.fabricmc.fabric.itemgroup; - -import net.fabricmc.api.ModInitializer; -import net.fabricmc.fabric.api.client.itemgroup.FabricItemGroupBuilder; -import net.minecraft.block.Blocks; -import net.minecraft.item.Item; -import net.minecraft.item.ItemGroup; -import net.minecraft.item.ItemStack; -import net.minecraft.item.Items; -import net.minecraft.util.Identifier; -import net.minecraft.util.registry.Registry; - - -public class ItemGroupMod implements ModInitializer { - @Override - public void onInitialize() { - //This creates your standard Item Group - ItemGroup group = FabricItemGroupBuilder.build(new Identifier("fabric", "fabric_test_tab"), () -> new ItemStack(Items.IRON_CHESTPLATE)); - Item testItem = new Item(new Item.Settings().itemGroup(group)); - Registry.ITEM.add(new Identifier("fabric_test", "itemgroup"), testItem); - - //Creates a tab with all items (including ones that dont show in search such as the command block) - FabricItemGroupBuilder.create(new Identifier("fabric", "all")).appendItems(itemStacks -> Registry.ITEM.forEach(item -> itemStacks.add(new ItemStack(item)))).build(); - - //Creates a group with all modded items in - FabricItemGroupBuilder.create(new Identifier("fabric", "modded")).appendItems(itemStacks -> Registry.ITEM.forEach(item -> { - if (!Registry.ITEM.getId(item).getNamespace().equals("minecraft")) { - itemStacks.add(new ItemStack(item)); - } - })).icon(() -> new ItemStack(Blocks.TNT)).build(); - - - //These are just padding to ensure more than one page works - FabricItemGroupBuilder.create(new Identifier("fabric", "test1")).icon(() -> new ItemStack(Items.APPLE)).build(); - FabricItemGroupBuilder.create(new Identifier("fabric", "test2")).build(); - FabricItemGroupBuilder.create(new Identifier("fabric", "test3")).build(); - FabricItemGroupBuilder.create(new Identifier("fabric", "test4")).build(); - FabricItemGroupBuilder.create(new Identifier("fabric", "test5")).build(); - FabricItemGroupBuilder.create(new Identifier("fabric", "test6")).build(); - FabricItemGroupBuilder.create(new Identifier("fabric", "test7")).build(); - FabricItemGroupBuilder.create(new Identifier("fabric", "test8")).build(); - FabricItemGroupBuilder.create(new Identifier("fabric", "test9")).build(); - FabricItemGroupBuilder.create(new Identifier("fabric", "test10")).build(); - FabricItemGroupBuilder.create(new Identifier("fabric", "test11")).build(); - FabricItemGroupBuilder.create(new Identifier("fabric", "test12")).build(); - FabricItemGroupBuilder.create(new Identifier("fabric", "test13")).build(); - - } -} diff --git a/fabric-testmods/java/net/fabricmc/fabric/keybinding/KeyBindingModClient.java b/fabric-testmods/java/net/fabricmc/fabric/keybinding/KeyBindingModClient.java deleted file mode 100644 index 09d65a8db..000000000 --- a/fabric-testmods/java/net/fabricmc/fabric/keybinding/KeyBindingModClient.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright (c) 2016, 2017, 2018 FabricMC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package net.fabricmc.fabric.keybinding; - -import net.fabricmc.api.ClientModInitializer; -import net.fabricmc.fabric.api.client.keybinding.FabricKeyBinding; -import net.fabricmc.fabric.api.client.keybinding.KeyBindingRegistry; -import net.minecraft.client.util.InputUtil; -import net.minecraft.util.Identifier; - -public class KeyBindingModClient implements ClientModInitializer { - @Override - public void onInitializeClient() { - KeyBindingRegistry.INSTANCE.addCategory("fabric.test"); - KeyBindingRegistry.INSTANCE.register( - FabricKeyBinding.Builder.create( - new Identifier("fabric:test"), - InputUtil.Type.KEYSYM, - 37, - "fabric.test" - ).build() - ); - } -} diff --git a/fabric-testmods/java/net/fabricmc/fabric/loot/LootEntryMod.java b/fabric-testmods/java/net/fabricmc/fabric/loot/LootEntryMod.java deleted file mode 100644 index 256df91d2..000000000 --- a/fabric-testmods/java/net/fabricmc/fabric/loot/LootEntryMod.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright (c) 2016, 2017, 2018 FabricMC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package net.fabricmc.fabric.loot; - -import com.google.gson.JsonDeserializationContext; -import com.google.gson.JsonObject; -import com.google.gson.JsonSerializationContext; -import net.fabricmc.api.ModInitializer; -import net.fabricmc.fabric.api.registry.LootEntryTypeRegistry; -import net.minecraft.util.Identifier; -import net.minecraft.util.JsonHelper; -import net.minecraft.world.loot.condition.LootCondition; -import net.minecraft.world.loot.entry.LootEntry; -import net.minecraft.world.loot.entry.TagEntry; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - -public class LootEntryMod implements ModInitializer { - private static final Logger LOGGER = LogManager.getLogger(); - - @Override - public void onInitialize() { - LootEntryTypeRegistry.INSTANCE.register(new TestSerializer()); - } - - private static class TestSerializer extends LootEntry.Serializer { - private static final TagEntry.Serializer SERIALIZER = new TagEntry.Serializer(); - - public TestSerializer() { - super(new Identifier("fabric", "extended_tag"), TagEntry.class); - } - - @Override - public void toJson(JsonObject obj, TagEntry entry, JsonSerializationContext context) { - SERIALIZER.method_451(obj, entry, context); - obj.addProperty("fabric", true); - } - - @Override - public TagEntry fromJson(JsonObject var1, JsonDeserializationContext var2, LootCondition[] var3) { - LOGGER.info("Is this a Fabric loot entry? " + JsonHelper.getBoolean(var1, "fabric", true)); - return SERIALIZER.fromJson(var1, var2, var3); - } - } -} - diff --git a/fabric-testmods/java/net/fabricmc/fabric/loot/LootTableMod.java b/fabric-testmods/java/net/fabricmc/fabric/loot/LootTableMod.java deleted file mode 100644 index 9646c059d..000000000 --- a/fabric-testmods/java/net/fabricmc/fabric/loot/LootTableMod.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright (c) 2016, 2017, 2018 FabricMC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package net.fabricmc.fabric.loot; - -import net.fabricmc.api.ModInitializer; -import net.fabricmc.fabric.api.event.loot.LootTableLoadingCallback; -import net.fabricmc.fabric.api.loot.FabricLootPoolBuilder; -import net.fabricmc.fabric.api.loot.LootUtilities; -import net.minecraft.item.Items; -import net.minecraft.world.loot.ConstantLootTableRange; -import net.minecraft.world.loot.LootPool; -import net.minecraft.world.loot.condition.SurvivesExplosionLootCondition; -import net.minecraft.world.loot.entry.ItemEntry; -import net.minecraft.world.loot.entry.LootEntry; - -public class LootTableMod implements ModInitializer { - private static final String LOOT_ENTRY_JSON = "{\"type\":\"minecraft:item\",\"name\":\"minecraft:apple\"}"; - - @Override - public void onInitialize() { - LootTableLoadingCallback.EVENT.register((manager, id, supplier) -> { - if ("minecraft:blocks/dirt".equals(id.toString())) { - LootEntry entryFromString = LootUtilities.readEntryFromJson(LOOT_ENTRY_JSON); - - LootPool pool = FabricLootPoolBuilder.builder() - .withEntry(ItemEntry.builder(Items.FEATHER)) - .withEntry(entryFromString) - .withRolls(ConstantLootTableRange.create(1)) - .withCondition(SurvivesExplosionLootCondition.method_871()) - .build(); - - supplier.withPool(pool); - } - }); - } -} diff --git a/fabric-testmods/java/net/fabricmc/fabric/model/ModelModClient.java b/fabric-testmods/java/net/fabricmc/fabric/model/ModelModClient.java deleted file mode 100644 index 26cbe127e..000000000 --- a/fabric-testmods/java/net/fabricmc/fabric/model/ModelModClient.java +++ /dev/null @@ -1,124 +0,0 @@ -/* - * Copyright (c) 2016, 2017, 2018 FabricMC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package net.fabricmc.fabric.model; - -import net.fabricmc.api.ClientModInitializer; -import net.fabricmc.fabric.api.client.model.ModelLoadingRegistry; -import net.fabricmc.fabric.api.event.client.ClientTickCallback; -import net.minecraft.block.BlockState; -import net.minecraft.client.MinecraftClient; -import net.minecraft.client.render.model.json.ModelItemPropertyOverrideList; -import net.minecraft.client.render.model.json.ModelTransformation; -import net.minecraft.client.texture.Sprite; -import net.minecraft.client.util.ModelIdentifier; -import net.minecraft.util.Identifier; -import net.minecraft.util.math.Direction; - -import java.util.function.Function; - -public class ModelModClient implements ClientModInitializer { - private static BakedModel bakedModel; - - @Override - public void onInitializeClient() { - ModelLoadingRegistry.INSTANCE.registerAppender((manager, out) -> { - System.out.println("--- ModelAppender called! ---"); - out.accept(new ModelIdentifier("fabric:model#custom")); - }); - - ModelLoadingRegistry.INSTANCE.registerVariantProvider(manager -> ((modelId, context) -> { - if (modelId.getVariant().equals("custom") && modelId.getNamespace().equals("fabric")) { - System.out.println("--- ModelVariantProvider called! ---"); - return context.loadModel(new Identifier("fabric:custom")); - } else { - return null; - } - })); - - ModelLoadingRegistry.INSTANCE.registerResourceProvider(manager -> ((id, context) -> { - if (id.toString().equals("fabric:custom")) { - return context.loadModel(new Identifier("fabric:custom2")); - } else if (id.toString().equals("fabric:custom2")) { - System.out.println("--- ModelResourceProvider called! ---"); - return new UnbakedModel() { - @Override - public Collection getModelDependencies() { - return Collections.emptyList(); - } - - @Override - public Collection getTextureDependencies(Function var1, Set var2) { - return Collections.emptyList(); - } - - @Override - public BakedModel bake(ModelLoader var1, Function var2, ModelBakeSettings var3) { - System.out.println("--- Model baked! ---"); - - return bakedModel = new BakedModel() { - @Override - public List getQuads(BlockState var1, Direction var2, Random var3) { - return Collections.emptyList(); - } - - @Override - public boolean useAmbientOcclusion() { - return false; - } - - @Override - public boolean hasDepthInGui() { - return false; - } - - @Override - public boolean isBuiltin() { - return false; - } - - @Override - public Sprite getSprite() { - return MinecraftClient.getInstance().getSpriteAtlas().getSprite("missingno"); - } - - @Override - public ModelTransformation getTransformation() { - return ModelTransformation.NONE; - } - - @Override - public ModelItemPropertyOverrideList getItemPropertyOverrides() { - return ModelItemPropertyOverrideList.EMPTY; - } - }; - } - }; - } else { - return null; - } - })); - - ClientTickCallback.EVENT.register((client) -> { - if (client.getBakedModelManager().getModel(new ModelIdentifier("fabric:model#custom")) - == bakedModel && bakedModel != null) { - System.out.println("--- MODEL LOADED! ---"); - } else { - System.out.println("--- MODEL NOT LOADED! ---"); - } - }); - } -} diff --git a/fabric-testmods/java/net/fabricmc/fabric/particle/ParticleModClient.java b/fabric-testmods/java/net/fabricmc/fabric/particle/ParticleModClient.java deleted file mode 100644 index 06b0aee86..000000000 --- a/fabric-testmods/java/net/fabricmc/fabric/particle/ParticleModClient.java +++ /dev/null @@ -1,90 +0,0 @@ -/* - * Copyright (c) 2016, 2017, 2018 FabricMC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package net.fabricmc.fabric.particle; - -import net.fabricmc.api.ClientModInitializer; -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; -import net.fabricmc.api.ModInitializer; -import net.fabricmc.fabric.api.client.particle.v1.FabricSpriteProvider; -import net.fabricmc.fabric.api.client.particle.v1.ParticleFactoryRegistry; -import net.fabricmc.fabric.api.particle.v1.FabricParticleTypes; -import net.minecraft.block.Blocks; -import net.minecraft.client.MinecraftClient; -import net.minecraft.client.particle.AnimatedParticle; -import net.minecraft.client.particle.Particle; -import net.minecraft.client.particle.ParticleFactory; -import net.minecraft.client.particle.ParticleTextureSheet; -import net.minecraft.client.particle.SpriteBillboardParticle; -import net.minecraft.client.particle.SpriteProvider; -import net.minecraft.particle.DefaultParticleType; -import net.minecraft.particle.ParticleEffect; -import net.minecraft.util.Identifier; -import net.minecraft.util.registry.Registry; -import net.minecraft.world.World; - -public class ParticleModClient implements ClientModInitializer, ModInitializer { - public static final DefaultParticleType SIMPLE_TEST_PARTICLE = FabricParticleTypes.simple(); - public static final DefaultParticleType CUSTOM_TEST_PARTICLE = FabricParticleTypes.simple(); - - @Override - public void onInitialize() { - Registry.register(Registry.PARTICLE_TYPE, new Identifier("testmod", "simple"), SIMPLE_TEST_PARTICLE); - Registry.register(Registry.PARTICLE_TYPE, new Identifier("testmod", "custom"), CUSTOM_TEST_PARTICLE); - } - - @Override - public void onInitializeClient() { - ParticleFactoryRegistry.getInstance().register(SIMPLE_TEST_PARTICLE, SimpleTestParticle::new); - ParticleFactoryRegistry.getInstance().register(CUSTOM_TEST_PARTICLE, CustomTestParticle.Factory::new); - } - - @Environment(EnvType.CLIENT) - static class SimpleTestParticle extends SpriteBillboardParticle { - public SimpleTestParticle(ParticleEffect effect, World world, double x, double y, double z, double velX, double velY, double velZ) { - super(world, x, y, z, velX, velY, velZ); - setSprite(MinecraftClient.getInstance().getItemRenderer().getModels().getSprite(Blocks.BARRIER.asItem())); - } - - @Override - public ParticleTextureSheet getType() { - return ParticleTextureSheet.PARTICLE_SHEET_TRANSLUCENT; - } - } - - @Environment(EnvType.CLIENT) - static class CustomTestParticle extends AnimatedParticle { - protected CustomTestParticle(World world, double x, double y, double z, SpriteProvider sprites) { - super(world, x, y, z, sprites, 1); - setSprite(sprites.getSprite(world.random)); - } - - @Environment(EnvType.CLIENT) - public static class Factory implements ParticleFactory { - private final FabricSpriteProvider sprites; - - public Factory(FabricSpriteProvider sprites) { - this.sprites = sprites; - } - - @Override - public Particle createParticle(DefaultParticleType type, World world, double x, double y, double z, double vX, double vY, double vZ) { - return new CustomTestParticle(world, x, y, z, sprites); - } - } - } -} diff --git a/fabric-testmods/java/net/fabricmc/fabric/resources/ResourceReloadModClient.java b/fabric-testmods/java/net/fabricmc/fabric/resources/ResourceReloadModClient.java deleted file mode 100644 index b7ecc8e1f..000000000 --- a/fabric-testmods/java/net/fabricmc/fabric/resources/ResourceReloadModClient.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright (c) 2016, 2017, 2018 FabricMC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package net.fabricmc.fabric.resources; - -import net.fabricmc.api.ClientModInitializer; -import net.fabricmc.fabric.api.resource.ResourceManagerHelper; -import net.fabricmc.fabric.api.resource.SimpleSynchronousResourceReloadListener; -import net.minecraft.resource.ResourceManager; -import net.minecraft.resource.ResourceType; -import net.minecraft.util.Identifier; - -import java.util.Collection; -import java.util.Collections; - -public class ResourceReloadModClient implements ClientModInitializer { - @Override - public void onInitializeClient() { - for (int i = 64; i >= 2; i--) { - final int _i = i; - ResourceManagerHelper.get(ResourceType.ASSETS).registerReloadListener(new SimpleSynchronousResourceReloadListener() { - @Override - public void apply(ResourceManager var1) { - System.out.println("Reloading (should run as #" + _i + ")"); - } - - @Override - public Identifier getFabricId() { - return new Identifier("fabric:rrmc" + _i); - } - - @Override - public Collection getFabricDependencies() { - return Collections.singletonList(new Identifier("fabric:rrmc" + (_i - 1))); - } - }); - } - - ResourceManagerHelper.get(ResourceType.ASSETS).registerReloadListener(new SimpleSynchronousResourceReloadListener() { - @Override - public Identifier getFabricId() { - return new Identifier("fabric:rrmc1"); - } - - @Override - public void apply(ResourceManager var1) { - System.out.println("Reloading (should run as #1)"); - } - }); - - ResourceManagerHelper.get(ResourceType.ASSETS).registerReloadListener(new SimpleSynchronousResourceReloadListener() { - @Override - public Identifier getFabricId() { - return new Identifier("fabric:rrmc_should_not_resolve"); - } - - @Override - public Collection getFabricDependencies() { - return Collections.singletonList(new Identifier("fabric:rrmc_nonexistent")); - } - - @Override - public void apply(ResourceManager var1) { - } - }); - } -} diff --git a/fabric-testmods/resources/assets/testmod/particles/custom.json b/fabric-testmods/resources/assets/testmod/particles/custom.json deleted file mode 100644 index e7e925b5f..000000000 --- a/fabric-testmods/resources/assets/testmod/particles/custom.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "textures": [ - "minecraft:spell_7", - "minecraft:spell_6", - "minecraft:spell_5", - "minecraft:spell_4", - "minecraft:spell_3", - "minecraft:spell_2", - "minecraft:spell_1", - "minecraft:spell_0" - ] -} diff --git a/fabric-testmods/resources/assets/testmod/particles/simple.json b/fabric-testmods/resources/assets/testmod/particles/simple.json deleted file mode 100644 index 0967ef424..000000000 --- a/fabric-testmods/resources/assets/testmod/particles/simple.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/fabric-testmods/resources/data/minecraft/loot_tables/blocks/stone.json b/fabric-testmods/resources/data/minecraft/loot_tables/blocks/stone.json deleted file mode 100644 index 6b0ef6c00..000000000 --- a/fabric-testmods/resources/data/minecraft/loot_tables/blocks/stone.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "conditions": [ - { - "condition": "minecraft:match_tool", - "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 - } - } - ] - } - } - ], - "name": "minecraft:stone" - }, - { - "type": "fabric:extended_tag", - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "name": "minecraft:wool", - "expand": false - } - ] - } - ] - } - ] -} diff --git a/fabric-testmods/resources/mod.json b/fabric-testmods/resources/mod.json deleted file mode 100644 index 44b50c290..000000000 --- a/fabric-testmods/resources/mod.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "id": "fabric_test", - "name": "Fabric API Tests", - "version": "0.1.1", - "side": "universal", - "description": "A series of test mods to check Fabric works.", - "license": "Apache-2.0", - "initializers": [ - "net.fabricmc.fabric.colormapper.ColorProviderMod", - "net.fabricmc.fabric.events.ServerEventMod", - "net.fabricmc.fabric.containers.ContainerMod", - "net.fabricmc.fabric.containers.ContainerModClient", - "net.fabricmc.fabric.loot.LootEntryMod" - ] -}