mirror of
https://github.com/FabricMC/fabric.git
synced 2024-11-14 19:25:23 -05:00
BlockSetTypeRegistry and WoodTypeRegistry (#2916)
* BlockSetTypeRegistry and WoodTypeRegistry Adds `BlockSetTypeRegistry` for creating `BlockSetType`s using Identifiers. Also adds `WoodTypeRegistry` to replace `SignTypeRegistry`, matching the new more accurate Yarn name. The old `SignTypeRegistry` remains as deprecated for compatibility. Also updates Yarn build. * Delete SignTypeRegistry.java Broke in the update anyway, no use keeping it * Suggestions * Whoops * Suggestions
This commit is contained in:
parent
9ff28bce11
commit
63b515f4db
14 changed files with 167 additions and 92 deletions
|
@ -4,7 +4,7 @@ accessible class net/minecraft/world/biome/Biome$Weather
|
|||
# Used to set nether biomes
|
||||
accessible field net/minecraft/world/biome/source/MultiNoiseBiomeSource instance Ljava/util/Optional;
|
||||
accessible class net/minecraft/world/biome/source/MultiNoiseBiomeSource$Instance
|
||||
accessible field net/minecraft/world/biome/source/MultiNoiseBiomeSource$Preset biomeSourceFunction Lnet/minecraft/world/biome/source/MultiNoiseBiomeSource$Preset$class_8165;
|
||||
accessible field net/minecraft/world/biome/source/MultiNoiseBiomeSource$Preset biomeSourceFunction Lnet/minecraft/world/biome/source/MultiNoiseBiomeSource$Preset$BiomeSourceFunction;
|
||||
accessible field net/minecraft/world/biome/source/MultiNoiseBiomeSource biomeEntries Lnet/minecraft/world/biome/source/util/MultiNoiseUtil$Entries;
|
||||
mutable field net/minecraft/world/biome/source/MultiNoiseBiomeSource biomeEntries Lnet/minecraft/world/biome/source/util/MultiNoiseUtil$Entries;
|
||||
|
||||
|
|
|
@ -184,7 +184,7 @@ transitive-accessible method net/minecraft/data/client/BlockStateModelGenerator
|
|||
transitive-accessible method net/minecraft/data/client/BlockStateModelGenerator registerTintableCross (Lnet/minecraft/block/Block;Lnet/minecraft/data/client/BlockStateModelGenerator$TintType;Lnet/minecraft/data/client/TextureMap;)V
|
||||
transitive-accessible method net/minecraft/data/client/BlockStateModelGenerator registerTintableCrossBlockState (Lnet/minecraft/block/Block;Lnet/minecraft/data/client/BlockStateModelGenerator$TintType;)V
|
||||
transitive-accessible method net/minecraft/data/client/BlockStateModelGenerator registerTintableCrossBlockState (Lnet/minecraft/block/Block;Lnet/minecraft/data/client/BlockStateModelGenerator$TintType;Lnet/minecraft/data/client/TextureMap;)V
|
||||
transitive-accessible method net/minecraft/data/client/BlockStateModelGenerator method_49374 (Lnet/minecraft/block/Block;Lnet/minecraft/data/client/BlockStateModelGenerator$TintType;Lnet/minecraft/state/property/Property;[I)V
|
||||
transitive-accessible method net/minecraft/data/client/BlockStateModelGenerator registerTintableCrossBlockStateWithStages (Lnet/minecraft/block/Block;Lnet/minecraft/data/client/BlockStateModelGenerator$TintType;Lnet/minecraft/state/property/Property;[I)V
|
||||
transitive-accessible method net/minecraft/data/client/BlockStateModelGenerator registerFlowerPotPlant (Lnet/minecraft/block/Block;Lnet/minecraft/block/Block;Lnet/minecraft/data/client/BlockStateModelGenerator$TintType;)V
|
||||
transitive-accessible method net/minecraft/data/client/BlockStateModelGenerator registerCoralFan (Lnet/minecraft/block/Block;Lnet/minecraft/block/Block;)V
|
||||
transitive-accessible method net/minecraft/data/client/BlockStateModelGenerator registerGourd (Lnet/minecraft/block/Block;Lnet/minecraft/block/Block;)V
|
||||
|
@ -198,7 +198,7 @@ transitive-accessible method net/minecraft/data/client/BlockStateModelGenerator
|
|||
transitive-accessible method net/minecraft/data/client/BlockStateModelGenerator registerBuiltinWithParticle (Lnet/minecraft/block/Block;Lnet/minecraft/item/Item;)V
|
||||
transitive-accessible method net/minecraft/data/client/BlockStateModelGenerator registerBuiltinWithParticle (Lnet/minecraft/block/Block;Lnet/minecraft/util/Identifier;)V
|
||||
transitive-accessible method net/minecraft/data/client/BlockStateModelGenerator registerWoolAndCarpet (Lnet/minecraft/block/Block;Lnet/minecraft/block/Block;)V
|
||||
transitive-accessible method net/minecraft/data/client/BlockStateModelGenerator method_49378 (Lnet/minecraft/block/Block;)V
|
||||
transitive-accessible method net/minecraft/data/client/BlockStateModelGenerator registerFlowerbed (Lnet/minecraft/block/Block;)V
|
||||
transitive-accessible method net/minecraft/data/client/BlockStateModelGenerator registerRandomHorizontalRotations (Lnet/minecraft/data/client/TexturedModel$Factory;[Lnet/minecraft/block/Block;)V
|
||||
transitive-accessible method net/minecraft/data/client/BlockStateModelGenerator registerSouthDefaultHorizontalFacing (Lnet/minecraft/data/client/TexturedModel$Factory;[Lnet/minecraft/block/Block;)V
|
||||
transitive-accessible method net/minecraft/data/client/BlockStateModelGenerator registerGlassPane (Lnet/minecraft/block/Block;Lnet/minecraft/block/Block;)V
|
||||
|
@ -277,7 +277,7 @@ transitive-accessible method net/minecraft/data/server/loottable/BlockLootTableG
|
|||
transitive-accessible method net/minecraft/data/server/loottable/BlockLootTableGenerator seagrassDrops (Lnet/minecraft/block/Block;)Lnet/minecraft/loot/LootTable$Builder;
|
||||
transitive-accessible method net/minecraft/data/server/loottable/BlockLootTableGenerator tallGrassDrops (Lnet/minecraft/block/Block;Lnet/minecraft/block/Block;)Lnet/minecraft/loot/LootTable$Builder;
|
||||
transitive-accessible method net/minecraft/data/server/loottable/BlockLootTableGenerator candleDrops (Lnet/minecraft/block/Block;)Lnet/minecraft/loot/LootTable$Builder;
|
||||
transitive-accessible method net/minecraft/data/server/loottable/BlockLootTableGenerator method_49358 (Lnet/minecraft/block/Block;)Lnet/minecraft/loot/LootTable$Builder;
|
||||
transitive-accessible method net/minecraft/data/server/loottable/BlockLootTableGenerator flowerbedDrops (Lnet/minecraft/block/Block;)Lnet/minecraft/loot/LootTable$Builder;
|
||||
transitive-accessible method net/minecraft/data/server/loottable/BlockLootTableGenerator candleCakeDrops (Lnet/minecraft/block/Block;)Lnet/minecraft/loot/LootTable$Builder;
|
||||
transitive-accessible method net/minecraft/data/server/loottable/BlockLootTableGenerator generate ()V
|
||||
transitive-accessible method net/minecraft/data/server/loottable/BlockLootTableGenerator addVinePlantDrop (Lnet/minecraft/block/Block;Lnet/minecraft/block/Block;)V
|
||||
|
|
|
@ -21,15 +21,15 @@ 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.block.WoodType;
|
||||
import net.minecraft.client.render.entity.model.EntityModelLayer;
|
||||
import net.minecraft.client.render.entity.model.EntityModelLayers;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.SignType;
|
||||
|
||||
@Mixin(EntityModelLayers.class)
|
||||
public class EntityModelLayersMixin {
|
||||
@Inject(method = "createSign", at = @At("HEAD"), cancellable = true)
|
||||
private static void createSign(SignType type, CallbackInfoReturnable<EntityModelLayer> cir) {
|
||||
private static void createSign(WoodType type, CallbackInfoReturnable<EntityModelLayer> cir) {
|
||||
if (type.name().indexOf(Identifier.NAMESPACE_SEPARATOR) != -1) {
|
||||
Identifier identifier = new Identifier(type.name());
|
||||
cir.setReturnValue(new EntityModelLayer(new Identifier(identifier.getNamespace(), "sign/" + identifier.getPath()), "main"));
|
||||
|
@ -37,7 +37,7 @@ public class EntityModelLayersMixin {
|
|||
}
|
||||
|
||||
@Inject(method = "createHangingSign", at = @At("HEAD"), cancellable = true)
|
||||
private static void createHangingSign(SignType type, CallbackInfoReturnable<EntityModelLayer> cir) {
|
||||
private static void createHangingSign(WoodType type, CallbackInfoReturnable<EntityModelLayer> cir) {
|
||||
if (type.name().indexOf(Identifier.NAMESPACE_SEPARATOR) != -1) {
|
||||
Identifier identifier = new Identifier(type.name());
|
||||
cir.setReturnValue(new EntityModelLayer(new Identifier(identifier.getNamespace(), "hanging_sign/" + identifier.getPath()), "main"));
|
||||
|
|
|
@ -23,10 +23,10 @@ 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.block.WoodType;
|
||||
import net.minecraft.client.render.TexturedRenderLayers;
|
||||
import net.minecraft.client.util.SpriteIdentifier;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.SignType;
|
||||
|
||||
@Mixin(TexturedRenderLayers.class)
|
||||
public class TexturedRenderLayersMixin {
|
||||
|
@ -35,7 +35,7 @@ public class TexturedRenderLayersMixin {
|
|||
public static Identifier SIGNS_ATLAS_TEXTURE;
|
||||
|
||||
@Inject(method = "createSignTextureId", at = @At("HEAD"), cancellable = true)
|
||||
private static void modifyTextureId(SignType type, CallbackInfoReturnable<SpriteIdentifier> cir) {
|
||||
private static void modifyTextureId(WoodType type, CallbackInfoReturnable<SpriteIdentifier> cir) {
|
||||
if (type.name().indexOf(Identifier.NAMESPACE_SEPARATOR) != -1) {
|
||||
Identifier identifier = new Identifier(type.name());
|
||||
cir.setReturnValue(new SpriteIdentifier(SIGNS_ATLAS_TEXTURE, new Identifier(identifier.getNamespace(), "entity/signs/" + identifier.getPath())));
|
||||
|
@ -43,7 +43,7 @@ public class TexturedRenderLayersMixin {
|
|||
}
|
||||
|
||||
@Inject(method = "createHangingSignTextureId", at = @At("HEAD"), cancellable = true)
|
||||
private static void modifyHangingTextureId(SignType type, CallbackInfoReturnable<SpriteIdentifier> cir) {
|
||||
private static void modifyHangingTextureId(WoodType type, CallbackInfoReturnable<SpriteIdentifier> cir) {
|
||||
if (type.name().indexOf(Identifier.NAMESPACE_SEPARATOR) != -1) {
|
||||
Identifier identifier = new Identifier(type.name());
|
||||
cir.setReturnValue(new SpriteIdentifier(SIGNS_ATLAS_TEXTURE, new Identifier(identifier.getNamespace(), "entity/signs/hanging/" + identifier.getPath())));
|
||||
|
|
|
@ -74,7 +74,7 @@ public class FabricBlockSettings extends AbstractBlock.Settings {
|
|||
thisAccessor.setOpaque(otherAccessor.getOpaque());
|
||||
thisAccessor.setIsAir(otherAccessor.getIsAir());
|
||||
thisAccessor.setToolRequired(otherAccessor.isToolRequired());
|
||||
thisAccessor.setOffsetType(otherAccessor.getOffsetType());
|
||||
thisAccessor.setOffsetter(otherAccessor.getOffsetter());
|
||||
thisAccessor.setBlockBreakParticles(otherAccessor.getBlockBreakParticles());
|
||||
thisAccessor.setRequiredFeatures(otherAccessor.getRequiredFeatures());
|
||||
|
||||
|
@ -274,8 +274,8 @@ public class FabricBlockSettings extends AbstractBlock.Settings {
|
|||
}
|
||||
|
||||
@Override
|
||||
public FabricBlockSettings method_49229(AbstractBlock.OffsetType offsetType) {
|
||||
super.method_49229(offsetType);
|
||||
public FabricBlockSettings offset(AbstractBlock.OffsetType offsetType) {
|
||||
super.offset(offsetType);
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,63 @@
|
|||
/*
|
||||
* 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.api.object.builder.v1.block.type;
|
||||
|
||||
import net.minecraft.block.BlockSetType;
|
||||
import net.minecraft.sound.BlockSoundGroup;
|
||||
import net.minecraft.sound.SoundEvent;
|
||||
import net.minecraft.util.Identifier;
|
||||
|
||||
/**
|
||||
* This class allows registering {@link BlockSetType}s.
|
||||
*
|
||||
* <p>A {@link BlockSetType} is used to tell the game what sounds various related blocks should use.
|
||||
*
|
||||
* @see WoodTypeRegistry
|
||||
*/
|
||||
public final class BlockSetTypeRegistry {
|
||||
private BlockSetTypeRegistry() {
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates and registers a {@link BlockSetType} with the regular wood sounds.
|
||||
*
|
||||
* @param id the id of this {@link BlockSetType}
|
||||
* @return a new {@link BlockSetType}
|
||||
*/
|
||||
public static BlockSetType registerWood(Identifier id) {
|
||||
return BlockSetType.register(new BlockSetType(id.toString()));
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates and registers a {@link BlockSetType}.
|
||||
*
|
||||
* @param id the id of this {@link BlockSetType}
|
||||
* @param soundType the {@link BlockSoundGroup} for this block set
|
||||
* @param doorClose the {@link SoundEvent} for when this block set's door closes
|
||||
* @param doorOpen the {@link SoundEvent} for when this block set's door opens
|
||||
* @param trapdoorClose the {@link SoundEvent} for when this block set's trapdoor closes
|
||||
* @param trapdoorOpen the {@link SoundEvent} for when this block set's trapdoor opens
|
||||
* @param pressurePlateClickOff the {@link SoundEvent} for when this block set's pressure plate is unpressed
|
||||
* @param pressurePlateClickOn the {@link SoundEvent} for when this block set's pressure plate is pressed
|
||||
* @param buttonClickOff the {@link SoundEvent} for when this block set's button is unpressed
|
||||
* @param buttonClickOn the {@link SoundEvent} for when this block set's button is pressed
|
||||
* @return a new {@link BlockSetType}
|
||||
*/
|
||||
public static BlockSetType register(Identifier id, BlockSoundGroup soundType, SoundEvent doorClose, SoundEvent doorOpen, SoundEvent trapdoorClose, SoundEvent trapdoorOpen, SoundEvent pressurePlateClickOff, SoundEvent pressurePlateClickOn, SoundEvent buttonClickOff, SoundEvent buttonClickOn) {
|
||||
return BlockSetType.register(new BlockSetType(id.toString(), soundType, doorClose, doorOpen, trapdoorClose, trapdoorOpen, pressurePlateClickOff, pressurePlateClickOn, buttonClickOff, buttonClickOn));
|
||||
}
|
||||
}
|
|
@ -0,0 +1,64 @@
|
|||
/*
|
||||
* 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.api.object.builder.v1.block.type;
|
||||
|
||||
import net.minecraft.block.BlockSetType;
|
||||
import net.minecraft.block.WoodType;
|
||||
import net.minecraft.sound.BlockSoundGroup;
|
||||
import net.minecraft.sound.SoundEvent;
|
||||
import net.minecraft.util.Identifier;
|
||||
|
||||
/**
|
||||
* This class allows registering {@link WoodType}s.
|
||||
*
|
||||
* <p>A {@link WoodType} is used to tell the game what textures signs should use, as well as sounds for both signs and fence gates.
|
||||
*
|
||||
* <p>Regular sign textures are stored at {@code [namespace]/textures/entity/signs/[path].png}.
|
||||
* <br>Hanging sign textures are stored at {@code [namespace]/textures/entity/signs/hanging/[path].png}.
|
||||
*
|
||||
* @see BlockSetTypeRegistry
|
||||
*/
|
||||
public final class WoodTypeRegistry {
|
||||
private WoodTypeRegistry() {
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates and registers a {@link WoodType}.
|
||||
*
|
||||
* @param id the id of this {@link WoodType}
|
||||
* @param setType the {@link BlockSetType} for this wood type
|
||||
* @return a new {@link WoodType}
|
||||
*/
|
||||
public static WoodType register(Identifier id, BlockSetType setType) {
|
||||
return WoodType.register(new WoodType(id.toString(), setType));
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates and registers a {@link WoodType}.
|
||||
*
|
||||
* @param id the id of this {@link WoodType}
|
||||
* @param setType the {@link BlockSetType} for this wood type
|
||||
* @param soundType the {@link BlockSoundGroup} for this wood type
|
||||
* @param hangingSignSoundType the {@link BlockSoundGroup} for this wood type's hanging sign
|
||||
* @param fenceGateClose the {@link SoundEvent} for when this wood type's fence gate closes
|
||||
* @param fenceGateOpen the {@link SoundEvent} for when this wood type's fence gate opens
|
||||
* @return a new {@link WoodType}
|
||||
*/
|
||||
public static WoodType register(Identifier id, BlockSetType setType, BlockSoundGroup soundType, BlockSoundGroup hangingSignSoundType, SoundEvent fenceGateClose, SoundEvent fenceGateOpen) {
|
||||
return WoodType.register(new WoodType(id.toString(), setType, soundType, hangingSignSoundType, fenceGateClose, fenceGateOpen));
|
||||
}
|
||||
}
|
|
@ -1,57 +0,0 @@
|
|||
/*
|
||||
* 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.api.object.builder.v1.sign;
|
||||
|
||||
import net.minecraft.class_8177;
|
||||
import net.minecraft.sound.BlockSoundGroup;
|
||||
import net.minecraft.sound.SoundEvent;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.SignType;
|
||||
|
||||
/**
|
||||
* This class allows registering {@link SignType}s.
|
||||
*
|
||||
* <p>A {@link SignType} is used to tell the game what texture a sign should use.
|
||||
*
|
||||
* <p>These textures are stored under {@code namespace/textures/entity/signs/}.
|
||||
*/
|
||||
public final class SignTypeRegistry {
|
||||
private SignTypeRegistry() {
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates and registers a {@link SignType}.
|
||||
*
|
||||
* @param id the id of this {@link SignType}
|
||||
* @param type the {@link class_8177} for this sign
|
||||
* @return a new {@link SignType}.
|
||||
*/
|
||||
public static SignType registerSignType(Identifier id, class_8177 type) {
|
||||
return SignType.register(new SignType(id.toString(), type));
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates and registers a {@link SignType}.
|
||||
*
|
||||
* @param id the id of this {@link SignType}
|
||||
* @param type the {@link class_8177} for this sign
|
||||
* @return a new {@link SignType}.
|
||||
*/
|
||||
public static SignType registerSignType(Identifier id, class_8177 type, BlockSoundGroup soundType, BlockSoundGroup hangingSignSoundType, SoundEvent fenceGateClose, SoundEvent fenceGateOpen) {
|
||||
return SignType.register(new SignType(id.toString(), type, soundType, hangingSignSoundType, fenceGateClose, fenceGateOpen));
|
||||
}
|
||||
}
|
|
@ -98,8 +98,8 @@ public interface AbstractBlockSettingsAccessor {
|
|||
@Accessor
|
||||
AbstractBlock.ContextPredicate getEmissiveLightingPredicate();
|
||||
|
||||
@Accessor("field_42818")
|
||||
Optional<AbstractBlock.class_8176> getOffsetType();
|
||||
@Accessor
|
||||
Optional<AbstractBlock.Offsetter> getOffsetter();
|
||||
|
||||
@Accessor
|
||||
Identifier getLootTableId();
|
||||
|
@ -144,6 +144,6 @@ public interface AbstractBlockSettingsAccessor {
|
|||
@Accessor
|
||||
void setRequiredFeatures(FeatureSet requiredFeatures);
|
||||
|
||||
@Accessor("field_42818")
|
||||
void setOffsetType(Optional<AbstractBlock.class_8176> type);
|
||||
@Accessor
|
||||
void setOffsetter(Optional<AbstractBlock.Offsetter> offsetter);
|
||||
}
|
||||
|
|
|
@ -12,4 +12,5 @@ accessible method net/minecraft/entity/SpawnRestriction register (Lnet/minecraft
|
|||
accessible field net/minecraft/village/VillagerType BIOME_TO_TYPE Ljava/util/Map;
|
||||
accessible method net/minecraft/village/VillagerType <init> (Ljava/lang/String;)V
|
||||
|
||||
accessible method net/minecraft/util/SignType register (Lnet/minecraft/util/SignType;)Lnet/minecraft/util/SignType;
|
||||
accessible method net/minecraft/block/WoodType register (Lnet/minecraft/block/WoodType;)Lnet/minecraft/block/WoodType;
|
||||
accessible method net/minecraft/block/BlockSetType register (Lnet/minecraft/block/BlockSetType;)Lnet/minecraft/block/BlockSetType;
|
||||
|
|
|
@ -16,50 +16,52 @@
|
|||
|
||||
package net.fabricmc.fabric.test.object.builder;
|
||||
|
||||
import net.minecraft.block.BlockSetType;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.block.Blocks;
|
||||
import net.minecraft.block.HangingSignBlock;
|
||||
import net.minecraft.block.SignBlock;
|
||||
import net.minecraft.block.WallHangingSignBlock;
|
||||
import net.minecraft.block.WallSignBlock;
|
||||
import net.minecraft.block.WoodType;
|
||||
import net.minecraft.block.entity.BlockEntityType;
|
||||
import net.minecraft.block.entity.HangingSignBlockEntity;
|
||||
import net.minecraft.block.entity.SignBlockEntity;
|
||||
import net.minecraft.class_8177;
|
||||
import net.minecraft.item.HangingSignItem;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.SignItem;
|
||||
import net.minecraft.registry.Registries;
|
||||
import net.minecraft.registry.Registry;
|
||||
import net.minecraft.util.SignType;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
|
||||
import net.fabricmc.api.ModInitializer;
|
||||
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
|
||||
import net.fabricmc.fabric.api.object.builder.v1.block.entity.FabricBlockEntityTypeBuilder;
|
||||
import net.fabricmc.fabric.api.object.builder.v1.sign.SignTypeRegistry;
|
||||
import net.fabricmc.fabric.api.object.builder.v1.block.type.BlockSetTypeRegistry;
|
||||
import net.fabricmc.fabric.api.object.builder.v1.block.type.WoodTypeRegistry;
|
||||
|
||||
public class TealSignTest implements ModInitializer {
|
||||
public static final SignType TEAL_TYPE = SignTypeRegistry.registerSignType(ObjectBuilderTestConstants.id("teal"), class_8177.field_42823);
|
||||
public static final SignBlock TEAL_SIGN = new SignBlock(FabricBlockSettings.copy(Blocks.OAK_SIGN), TEAL_TYPE) {
|
||||
public static final BlockSetType TEAL_BLOCK_SET_TYPE = BlockSetTypeRegistry.registerWood(ObjectBuilderTestConstants.id("teal"));
|
||||
public static final WoodType TEAL_WOOD_TYPE = WoodTypeRegistry.register(ObjectBuilderTestConstants.id("teal"), TEAL_BLOCK_SET_TYPE);
|
||||
public static final SignBlock TEAL_SIGN = new SignBlock(FabricBlockSettings.copy(Blocks.OAK_SIGN), TEAL_WOOD_TYPE) {
|
||||
@Override
|
||||
public TealSign createBlockEntity(BlockPos pos, BlockState state) {
|
||||
return new TealSign(pos, state);
|
||||
}
|
||||
};
|
||||
public static final WallSignBlock TEAL_WALL_SIGN = new WallSignBlock(FabricBlockSettings.copy(Blocks.OAK_SIGN), TEAL_TYPE) {
|
||||
public static final WallSignBlock TEAL_WALL_SIGN = new WallSignBlock(FabricBlockSettings.copy(Blocks.OAK_SIGN), TEAL_WOOD_TYPE) {
|
||||
@Override
|
||||
public TealSign createBlockEntity(BlockPos pos, BlockState state) {
|
||||
return new TealSign(pos, state);
|
||||
}
|
||||
};
|
||||
public static final HangingSignBlock TEAL_HANGING_SIGN = new HangingSignBlock(FabricBlockSettings.copy(Blocks.OAK_HANGING_SIGN), TEAL_TYPE) {
|
||||
public static final HangingSignBlock TEAL_HANGING_SIGN = new HangingSignBlock(FabricBlockSettings.copy(Blocks.OAK_HANGING_SIGN), TEAL_WOOD_TYPE) {
|
||||
@Override
|
||||
public TealHangingSign createBlockEntity(BlockPos pos, BlockState state) {
|
||||
return new TealHangingSign(pos, state);
|
||||
}
|
||||
};
|
||||
public static final WallHangingSignBlock TEAL_WALL_HANGING_SIGN = new WallHangingSignBlock(FabricBlockSettings.copy(Blocks.OAK_HANGING_SIGN), TEAL_TYPE) {
|
||||
public static final WallHangingSignBlock TEAL_WALL_HANGING_SIGN = new WallHangingSignBlock(FabricBlockSettings.copy(Blocks.OAK_HANGING_SIGN), TEAL_WOOD_TYPE) {
|
||||
@Override
|
||||
public TealHangingSign createBlockEntity(BlockPos pos, BlockState state) {
|
||||
return new TealHangingSign(pos, state);
|
||||
|
|
|
@ -126,7 +126,7 @@ transitive-accessible method net/minecraft/block/BarrierBlock <init> (Lnet/minec
|
|||
transitive-accessible method net/minecraft/block/BigDripleafBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
|
||||
transitive-accessible method net/minecraft/block/BigDripleafStemBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
|
||||
transitive-accessible method net/minecraft/block/BlastFurnaceBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
|
||||
transitive-accessible method net/minecraft/block/ButtonBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;Lnet/minecraft/class_8177;IZ)V
|
||||
transitive-accessible method net/minecraft/block/ButtonBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;Lnet/minecraft/block/BlockSetType;IZ)V
|
||||
transitive-accessible method net/minecraft/block/CactusBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
|
||||
transitive-accessible method net/minecraft/block/CakeBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
|
||||
transitive-accessible method net/minecraft/block/CandleCakeBlock <init> (Lnet/minecraft/block/Block;Lnet/minecraft/block/AbstractBlock$Settings;)V
|
||||
|
@ -146,9 +146,10 @@ transitive-accessible method net/minecraft/block/DeadBushBlock <init> (Lnet/mine
|
|||
transitive-accessible method net/minecraft/block/DeadCoralBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
|
||||
transitive-accessible method net/minecraft/block/DeadCoralFanBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
|
||||
transitive-accessible method net/minecraft/block/DeadCoralWallFanBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
|
||||
transitive-accessible method net/minecraft/block/DecoratedPotBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
|
||||
transitive-accessible method net/minecraft/block/DirtPathBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
|
||||
transitive-accessible method net/minecraft/block/DispenserBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
|
||||
transitive-accessible method net/minecraft/block/DoorBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;Lnet/minecraft/class_8177;)V
|
||||
transitive-accessible method net/minecraft/block/DoorBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;Lnet/minecraft/block/BlockSetType;)V
|
||||
transitive-accessible method net/minecraft/block/DyedCarpetBlock <init> (Lnet/minecraft/util/DyeColor;Lnet/minecraft/block/AbstractBlock$Settings;)V
|
||||
transitive-accessible method net/minecraft/block/EnchantingTableBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
|
||||
transitive-accessible method net/minecraft/block/EndGatewayBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
|
||||
|
@ -158,6 +159,7 @@ transitive-accessible method net/minecraft/block/EnderChestBlock <init> (Lnet/mi
|
|||
transitive-accessible method net/minecraft/block/FarmlandBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
|
||||
transitive-accessible method net/minecraft/block/FernBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
|
||||
transitive-accessible method net/minecraft/block/FletchingTableBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
|
||||
transitive-accessible method net/minecraft/block/FlowerbedBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
|
||||
transitive-accessible method net/minecraft/block/FluidBlock <init> (Lnet/minecraft/fluid/FlowableFluid;Lnet/minecraft/block/AbstractBlock$Settings;)V
|
||||
transitive-accessible method net/minecraft/block/FungusBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;Lnet/minecraft/registry/RegistryKey;Lnet/minecraft/block/Block;)V
|
||||
transitive-accessible method net/minecraft/block/FurnaceBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
|
||||
|
@ -181,7 +183,7 @@ transitive-accessible method net/minecraft/block/PaneBlock <init> (Lnet/minecraf
|
|||
transitive-accessible method net/minecraft/block/PlantBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
|
||||
transitive-accessible method net/minecraft/block/PlayerSkullBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
|
||||
transitive-accessible method net/minecraft/block/PoweredRailBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
|
||||
transitive-accessible method net/minecraft/block/PressurePlateBlock <init> (Lnet/minecraft/block/PressurePlateBlock$ActivationRule;Lnet/minecraft/block/AbstractBlock$Settings;Lnet/minecraft/class_8177;)V
|
||||
transitive-accessible method net/minecraft/block/PressurePlateBlock <init> (Lnet/minecraft/block/PressurePlateBlock$ActivationRule;Lnet/minecraft/block/AbstractBlock$Settings;Lnet/minecraft/block/BlockSetType;)V
|
||||
transitive-accessible method net/minecraft/block/PumpkinBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
|
||||
transitive-accessible method net/minecraft/block/RailBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
|
||||
transitive-accessible method net/minecraft/block/RedstoneTorchBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
|
||||
|
@ -206,14 +208,14 @@ transitive-accessible method net/minecraft/block/StructureVoidBlock <init> (Lnet
|
|||
transitive-accessible method net/minecraft/block/SugarCaneBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
|
||||
transitive-accessible method net/minecraft/block/TorchBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;Lnet/minecraft/particle/ParticleEffect;)V
|
||||
transitive-accessible method net/minecraft/block/TransparentBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
|
||||
transitive-accessible method net/minecraft/block/TrapdoorBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;Lnet/minecraft/class_8177;)V
|
||||
transitive-accessible method net/minecraft/block/TrapdoorBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;Lnet/minecraft/block/BlockSetType;)V
|
||||
transitive-accessible method net/minecraft/block/WallMountedBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
|
||||
transitive-accessible method net/minecraft/block/WallPlayerSkullBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
|
||||
transitive-accessible method net/minecraft/block/WallRedstoneTorchBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
|
||||
transitive-accessible method net/minecraft/block/WallSkullBlock <init> (Lnet/minecraft/block/SkullBlock$SkullType;Lnet/minecraft/block/AbstractBlock$Settings;)V
|
||||
transitive-accessible method net/minecraft/block/WallTorchBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;Lnet/minecraft/particle/ParticleEffect;)V
|
||||
transitive-accessible method net/minecraft/block/WallWitherSkullBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
|
||||
transitive-accessible method net/minecraft/block/WeightedPressurePlateBlock <init> (ILnet/minecraft/block/AbstractBlock$Settings;Lnet/minecraft/class_8177;)V
|
||||
transitive-accessible method net/minecraft/block/WeightedPressurePlateBlock <init> (ILnet/minecraft/block/AbstractBlock$Settings;Lnet/minecraft/block/BlockSetType;)V
|
||||
transitive-accessible method net/minecraft/block/WetSpongeBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
|
||||
transitive-accessible method net/minecraft/block/WitherSkullBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
|
||||
|
||||
|
|
|
@ -20,6 +20,7 @@ import net.minecraft.block.BlockState;
|
|||
import net.minecraft.block.Blocks;
|
||||
import net.minecraft.block.SignBlock;
|
||||
import net.minecraft.block.WallSignBlock;
|
||||
import net.minecraft.block.WoodType;
|
||||
import net.minecraft.block.entity.BlockEntity;
|
||||
import net.minecraft.block.entity.BlockEntityType;
|
||||
import net.minecraft.block.entity.SignBlockEntity;
|
||||
|
@ -28,7 +29,6 @@ import net.minecraft.item.SignItem;
|
|||
import net.minecraft.registry.Registries;
|
||||
import net.minecraft.registry.Registry;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.SignType;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
|
||||
import net.fabricmc.api.ModInitializer;
|
||||
|
@ -37,13 +37,13 @@ import net.fabricmc.fabric.api.object.builder.v1.block.entity.FabricBlockEntityT
|
|||
|
||||
public final class SignBlockEntityTest implements ModInitializer {
|
||||
public static final String MOD_ID = "fabric-transitive-access-wideners-v1-testmod";
|
||||
public static final SignBlock TEST_SIGN = new SignBlock(FabricBlockSettings.copy(Blocks.OAK_SIGN), SignType.OAK) {
|
||||
public static final SignBlock TEST_SIGN = new SignBlock(FabricBlockSettings.copy(Blocks.OAK_SIGN), WoodType.OAK) {
|
||||
@Override
|
||||
public BlockEntity createBlockEntity(BlockPos pos, BlockState state) {
|
||||
return new TestSign(pos, state);
|
||||
}
|
||||
};
|
||||
public static final WallSignBlock TEST_WALL_SIGN = new WallSignBlock(FabricBlockSettings.copy(Blocks.OAK_SIGN), SignType.OAK) {
|
||||
public static final WallSignBlock TEST_WALL_SIGN = new WallSignBlock(FabricBlockSettings.copy(Blocks.OAK_SIGN), WoodType.OAK) {
|
||||
@Override
|
||||
public BlockEntity createBlockEntity(BlockPos pos, BlockState state) {
|
||||
return new TestSign(pos, state);
|
||||
|
|
|
@ -4,7 +4,7 @@ fabric.loom.multiProjectOptimisation=true
|
|||
|
||||
version=0.74.1
|
||||
minecraft_version=23w07a
|
||||
yarn_version=+build.1
|
||||
yarn_version=+build.3
|
||||
loader_version=0.14.14
|
||||
installer_version=0.11.1
|
||||
|
||||
|
|
Loading…
Reference in a new issue