This repository was archived by the owner on Apr 28, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 55
Expand file tree
/
Copy pathTestMod.java
More file actions
115 lines (96 loc) · 4.76 KB
/
TestMod.java
File metadata and controls
115 lines (96 loc) · 4.76 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
package org.dimdev.testmod;
import com.mojang.brigadier.CommandDispatcher;
import net.minecraft.block.Block;
import net.minecraft.block.BlockFlowingFluid;
import net.minecraft.block.BlockStainedGlass;
import net.minecraft.block.material.Material;
import net.minecraft.client.Minecraft;
import net.minecraft.client.audio.MusicTicker;
import net.minecraft.command.CommandSource;
import net.minecraft.fluid.FlowingFluid;
import net.minecraft.fluid.Fluid;
import net.minecraft.item.EnumDyeColor;
import net.minecraft.item.Item;
import net.minecraft.item.ItemGroup;
import net.minecraft.network.EnumPacketDirection;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.registry.RegistryNamespaced;
import net.minecraft.world.dimension.DimensionType;
import net.minecraft.world.dimension.EndDimension;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.dimdev.rift.listener.*;
import org.dimdev.rift.listener.client.AmbientMusicTypeProvider;
import org.dimdev.rift.listener.client.ClientTickable;
import org.dimdev.rift.listener.client.TextureAdder;
import org.dimdev.rift.network.Message;
import java.util.Collection;
import java.util.Collections;
import java.util.Set;
import static net.minecraft.init.SoundEvents.ENTITY_EXPERIENCE_ORB_PICKUP;
public class TestMod implements BlockAdder, ItemAdder, FluidAdder, TextureAdder, PacketAdder, CommandAdder, ClientTickable, /*AmbientMusicTypeProvider,*/ DimensionTypeAdder, MessageAdder {
public static final Block WHITE_BLOCK = new Block(Block.Builder.create(Material.ROCK));
public static final Block TRANSLUCENT_WHITE_BLOCK = new BlockStainedGlass(EnumDyeColor.WHITE, Block.Builder.create(Material.GLASS));
public static final FlowingFluid WHITE_FLUID = new WhiteFluid.Source();
public static final FlowingFluid FLOWING_WHITE_FLUID = new WhiteFluid.Flowing();
public static final BlockFlowingFluid BLOCK_WHITE_FLUID = new BlockFlowingFluid(WHITE_FLUID, Block.Builder.create(Material.WATER).doesNotBlockMovement().hardnessAndResistance(100F, 100F).variableOpacity());
public static final Item PACKET_TESTER = new ItemPacketTester(new Item.Builder());
public static final MusicTicker.MusicType TEST_MUSIC = AmbientMusicTypeProvider.newMusicType("test", ENTITY_EXPERIENCE_ORB_PICKUP, 0, 0);
public static final String MODID = "testmod";
private static final Logger LOGGER = LogManager.getLogger();
private int clientTickCount = 0;
@Override
public void registerBlocks() {
Block.register(new ResourceLocation(MODID, "white_block"), WHITE_BLOCK);
Block.register(new ResourceLocation(MODID, "translucent_white_block"), TRANSLUCENT_WHITE_BLOCK);
Block.register(new ResourceLocation(MODID, "white_fluid"), BLOCK_WHITE_FLUID);
}
@Override
public void registerItems() {
Item.register(WHITE_BLOCK, ItemGroup.BUILDING_BLOCKS);
Item.register(TRANSLUCENT_WHITE_BLOCK, ItemGroup.BUILDING_BLOCKS);
Item.register(new ResourceLocation(MODID, "packet_tester"), PACKET_TESTER);
}
@Override
public void registerFluids() {
Fluid.register(new ResourceLocation(MODID, "white_fluid"), WHITE_FLUID);
Fluid.register(new ResourceLocation(MODID, "flowing_white_fluid"), FLOWING_WHITE_FLUID);
}
@Override
public Collection<? extends ResourceLocation> getBuiltinTextures() {
return Collections.singletonList(new ResourceLocation(MODID, "block/white_fluid_flow"));
}
@Override
public void registerHandshakingPackets(PacketRegistrationReceiver receiver) {}
@Override
public void registerPlayPackets(PacketRegistrationReceiver receiver) {
receiver.registerPacket(EnumPacketDirection.SERVERBOUND, CPacketTest.class);
}
@Override
public void registerStatusPackets(PacketRegistrationReceiver receiver) {}
@Override
public void registerLoginPackets(PacketRegistrationReceiver receiver) {}
@Override
public void registerCommands(CommandDispatcher<CommandSource> dispatcher) {
ExplosionCommand.register(dispatcher);
ChangeDimensionCommand.register(dispatcher);
}
@Override
public void clientTick() {
if (clientTickCount++ == 100) {
LOGGER.info("100 ticks have passed");
}
}
// @Override
public MusicTicker.MusicType getAmbientMusicType(Minecraft client) {
return TEST_MUSIC;
}
@Override
public Set<? extends DimensionType> getDimensionTypes() {
return Collections.singleton(DimensionTypeAdder.newDimensionType(555, "test_dimension", "_test", EndDimension::new));
}
@Override
public void registerMessages(RegistryNamespaced<ResourceLocation, Class<? extends Message>> registry) {
registry.put(new ResourceLocation(MODID, "test_message"), TestMessage.class);
}
}