Tag mixin & fixes

This commit is contained in:
paulevsGitch 2020-09-26 23:36:44 +03:00
parent 7316480289
commit 1d206295b7
116 changed files with 1669 additions and 802 deletions

View file

@ -0,0 +1,7 @@
package ru.betterend;
import net.minecraft.tag.Tag;
public class TagHelper {
public static Tag.Entry lastEntry;
}

View file

@ -1,10 +1,18 @@
package ru.betterend.blocks.complex;
import java.lang.reflect.Field;
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import net.fabricmc.fabric.api.tag.TagRegistry;
import net.minecraft.block.Block;
import net.minecraft.block.Material;
import net.minecraft.block.MaterialColor;
import net.minecraft.item.Items;
import net.minecraft.sound.BlockSoundGroup;
import net.minecraft.tag.BlockTags;
import net.minecraft.tag.SetTag;
import net.minecraft.tag.Tag;
import net.minecraft.util.Identifier;
import ru.betterend.blocks.basis.BlockBarrel;
import ru.betterend.blocks.basis.BlockBase;
import ru.betterend.blocks.basis.BlockChest;
@ -50,9 +58,10 @@ public class WoodenMaterial
public final Block chest;
public final Block barrel;
@SuppressWarnings("unchecked")
public WoodenMaterial(String name, MaterialColor woodColor, MaterialColor planksColor)
{
FabricBlockSettings materialPlanks = FabricBlockSettings.of(Material.WOOD).materialColor(planksColor);
FabricBlockSettings materialPlanks = FabricBlockSettings.of(Material.WOOD).sounds(BlockSoundGroup.WOOD).materialColor(planksColor);
log_striped = BlockRegistry.registerBlock(name + "_striped_log", new BlockPillar(materialPlanks));
bark_striped = BlockRegistry.registerBlock(name + "_striped_bark", new BlockPillar(materialPlanks));
@ -91,6 +100,18 @@ public class WoodenMaterial
RecipeBuilder.make(name + "_sign", sign).setOutputCount(3).setShape("###", "###", " I ").addMaterial('#', planks).addMaterial('I', Items.STICK).setGroup("end_signs").build();
RecipeBuilder.make(name + "_chest", chest).setShape("###", "# #", "###").addMaterial('#', planks).setGroup("end_chests").build();
RecipeBuilder.make(name + "_barrel", barrel).setShape("#S#", "# #", "#S#").addMaterial('#', planks).addMaterial('S', slab).setGroup("end_barrels").build();
/*try {
Field field = BlockTags.CLIMBABLE.getClass().getDeclaredField("delegate");
field.setAccessible(true);
SetTag<Block> tag = SetTag.empty();
tag = (SetTag<Block>) field.get(tag);
System.out.println(tag.getClass());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}*/
//System.out.println(BlockTags.CLIMBABLE.getClass());
}
public boolean isTreeLog(Block block)

View file

@ -0,0 +1,26 @@
package ru.betterend.mixin.common;
import java.util.Map;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import net.minecraft.tag.Tag;
import net.minecraft.tag.TagGroup;
import net.minecraft.tag.TagGroupLoader;
import net.minecraft.util.Identifier;
import ru.betterend.BetterEnd;
@Mixin(TagGroupLoader.class)
public class TagGroupLoaderMixin {
@Inject(method = "applyReload", at = @At(value = "HEAD"))
private void onReload(Map<Identifier, Tag.Builder> tags, CallbackInfoReturnable<TagGroup<?>> info) {
tags.forEach((id, builder) -> {
if (id.toString().equals("minecraft:climbable")) {
builder.add(new Identifier(BetterEnd.MOD_ID, "mossy_glowshroom_ladder"), "code");
}
});
}
}