Skip to content

Commit 4d6b7ae

Browse files
registration tool
1 parent ea22573 commit 4d6b7ae

2 files changed

Lines changed: 35 additions & 1 deletion

File tree

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ apply plugin: 'eclipse'
1515
apply plugin: 'maven'
1616
apply plugin: 'maven-publish'
1717

18-
version = '1.16.5-0.0.1.4'
18+
version = '1.16.5-0.0.1.5'
1919
group = 'multiteam.multicorelib' // http://maven.apache.org/guides/mini/guide-naming-conventions.html
2020
archivesBaseName = 'multicore_lib'
2121

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
package multiteam.multicore_lib.setup.utilities;
2+
3+
import net.minecraft.block.Block;
4+
import net.minecraft.entity.Entity;
5+
import net.minecraft.entity.EntityClassification;
6+
import net.minecraft.entity.EntityType;
7+
import net.minecraft.item.BlockItem;
8+
import net.minecraft.item.Item;
9+
import net.minecraftforge.fml.RegistryObject;
10+
import net.minecraftforge.registries.DeferredRegister;
11+
12+
import java.util.function.Supplier;
13+
14+
public class RegistrationTool {
15+
16+
//Registers a block without an item form
17+
public static <T extends Block> RegistryObject<T> registerNoItem(String name, Supplier<T> block, DeferredRegister<Block> BLOCKS_){
18+
return BLOCKS_.register(name, block);
19+
}
20+
21+
//Registers a block, and also registers an item version of the block
22+
public static <T extends Block> RegistryObject<T> registerWithItem(String name, Supplier<T> block, Item.Properties itemProperties, DeferredRegister<Block> BLOCKS_, DeferredRegister<Item> ITEMS_){
23+
RegistryObject<T> ret = registerNoItem(name, block, BLOCKS_);
24+
ITEMS_.register(name, () -> new BlockItem(ret.get(), itemProperties));
25+
return ret;
26+
}
27+
28+
//Entity registry util
29+
public static <T extends Entity> RegistryObject<EntityType<T>> buildEntity(EntityType.IFactory<T> entity, Class<T> entityClass, float width, float height, EntityClassification classification, int trackingRange, int updateinterval, DeferredRegister<EntityType<?>> ENTITIES_) {
30+
String name = entityClass.getSimpleName().toLowerCase();
31+
return ENTITIES_.register(name, () -> EntityType.Builder.of(entity, classification).sized(width, height).clientTrackingRange(trackingRange).updateInterval(updateinterval).build(name));
32+
}
33+
34+
}

0 commit comments

Comments
 (0)