1
1
package io .github .codecraftplugin .registrylib .utils ;
2
2
3
3
import net .fabricmc .fabric .api .item .v1 .FabricItemSettings ;
4
+ import net .fabricmc .fabric .api .itemgroup .v1 .ItemGroupEvents ;
4
5
import net .fabricmc .loader .api .FabricLoader ;
5
6
import net .minecraft .block .Block ;
6
7
import net .minecraft .enchantment .Enchantment ;
13
14
import net .minecraft .item .BlockItem ;
14
15
import net .minecraft .item .Item ;
15
16
import net .minecraft .item .ItemGroup ;
17
+ import net .minecraft .item .ItemGroups ;
18
+ import net .minecraft .registry .Registries ;
16
19
import net .minecraft .util .Identifier ;
17
20
import org .slf4j .Logger ;
18
21
19
22
20
23
public class Registry {
21
24
22
25
23
- public static Item registerItems (String name , String MOD_ID , Item item ){
24
- return net .minecraft .util .registry .Registry .register (net .minecraft .util .registry .Registry .ITEM ,new Identifier (MOD_ID ,name ),item );
26
+ public static Item registerItems (String name , String MOD_ID , Item item , ItemGroup itemGroup ){
27
+ Item createditem = net .minecraft .registry .Registry .register (Registries .ITEM ,new Identifier (MOD_ID ,name ),item );
28
+ addToItemGroup (itemGroup ,createditem );
29
+ return createditem ;
25
30
}
26
31
public static Block registerBlocks (String name , String MOD_ID , Block block , ItemGroup itemGroup ){
27
32
registerBlockItem (name ,MOD_ID ,block ,itemGroup );
28
- return net .minecraft .util . registry .Registry .register (net . minecraft . util . registry . Registry .BLOCK ,new Identifier (MOD_ID ,name ),block );
33
+ return net .minecraft .registry .Registry .register (Registries .BLOCK ,new Identifier (MOD_ID ,name ),block );
29
34
}
30
35
public static Item registerBlockItem (String name , String MOD_ID , Block block , ItemGroup itemGroup ) {
31
- return net .minecraft .util . registry .Registry .register (net . minecraft . util . registry . Registry .ITEM ,new Identifier (MOD_ID ,name ),
32
- new BlockItem (block ,new FabricItemSettings (). group ( itemGroup ) ));
36
+ return net .minecraft .registry .Registry .register (Registries .ITEM ,new Identifier (MOD_ID ,name ),
37
+ new BlockItem (block ,new FabricItemSettings ()));
33
38
}
39
+ //Adds Group to the items created
34
40
35
-
41
+ public static void addToItemGroup (ItemGroup group , Item item ) {
42
+ ItemGroupEvents .modifyEntriesEvent (group ).register (entries -> entries .add (item ));
43
+ }
36
44
/**
37
45
* Register blocks without block item block.
38
46
*
@@ -43,12 +51,12 @@ public static Item registerBlockItem(String name, String MOD_ID, Block block, It
43
51
*/
44
52
public static Block registerBlocksWithoutBlockItem (String name , String MOD_ID , Block block ){
45
53
//register the block without block items, so you have to register it manually using registerItems
46
- return net .minecraft .util . registry .Registry .register (net . minecraft . util . registry . Registry .BLOCK ,new Identifier (MOD_ID ,name ),block );
54
+ return net .minecraft .registry .Registry .register (Registries .BLOCK ,new Identifier (MOD_ID ,name ),block );
47
55
}
48
56
49
57
//register enchantments
50
58
public static Enchantment registerEnchantments (String name , Enchantment enchantment , String MOD_ID ){
51
- return net .minecraft .util . registry .Registry .register (net . minecraft . util . registry . Registry .ENCHANTMENT , new Identifier (MOD_ID , name ),enchantment );
59
+ return net .minecraft .registry .Registry .register (Registries .ENCHANTMENT , new Identifier (MOD_ID , name ),enchantment );
52
60
53
61
}
54
62
@@ -60,7 +68,7 @@ public static Enchantment registerEnchantments(String name, Enchantment enchantm
60
68
* @return
61
69
*/
62
70
private static FlowableFluid registerFluids (String name , String MOD_ID ,FlowableFluid flowableFluid ) {
63
- return net .minecraft .util . registry .Registry .register (net . minecraft . util . registry . Registry .FLUID , new Identifier (MOD_ID , name ), flowableFluid );
71
+ return net .minecraft .registry .Registry .register (Registries .FLUID , new Identifier (MOD_ID , name ), flowableFluid );
64
72
}
65
73
public static void registerRegistry (Logger logger ){
66
74
logger .info ("registered all the registry" );
@@ -75,11 +83,11 @@ public static void registerRegistry(Logger logger){
75
83
* @return The Entity
76
84
*/
77
85
public static EntityType registerEntity (String name ,String MOD_ID , EntityType entity ){
78
- return net .minecraft .util . registry .Registry .register (net . minecraft . util . registry . Registry .ENTITY_TYPE , new Identifier (MOD_ID ,name ),entity );
86
+ return net .minecraft .registry .Registry .register (Registries .ENTITY_TYPE , new Identifier (MOD_ID ,name ),entity );
79
87
}
80
88
//register status effects
81
89
public static StatusEffect registerStatusEffects (String name ,String MOD_ID , StatusEffect statusEffect ){
82
- return net .minecraft .util . registry .Registry .register (net . minecraft . util . registry . Registry .STATUS_EFFECT , new Identifier (MOD_ID , name ), statusEffect );
90
+ return net .minecraft .registry .Registry .register (Registries .STATUS_EFFECT , new Identifier (MOD_ID , name ), statusEffect );
83
91
}
84
92
//register entities with spawn egg
85
93
public static <T extends Entity > EntityType <T > buildEntity (EntityType .EntityFactory <T > entity , Class <T > entityClass ,
@@ -102,7 +110,7 @@ public static <T extends Entity> EntityType<T> buildEntity(EntityType.EntityFact
102
110
*/
103
111
public static <I extends Item > I registerEgg (I item , Identifier name ) {
104
112
if (FabricLoader .getInstance ().isDevelopmentEnvironment ()) {
105
- return net .minecraft .util . registry .Registry .register (net . minecraft . util . registry . Registry .ITEM , name , item );
113
+ return net .minecraft .registry .Registry .register (Registries .ITEM , name , item );
106
114
}
107
115
return null ;
108
116
}
0 commit comments