MultiPartBuilder.create
returns an Instance not a globa Object (improves thread safety, fixes paulevsGitch/BetterEnd#316)
This commit is contained in:
parent
06df39445c
commit
a52b18ba9b
1 changed files with 13 additions and 9 deletions
|
@ -1,6 +1,11 @@
|
||||||
package ru.bclib.client.models;
|
package ru.bclib.client.models;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
import java.util.function.Function;
|
||||||
|
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
|
|
||||||
import com.mojang.math.Transformation;
|
import com.mojang.math.Transformation;
|
||||||
import net.fabricmc.api.EnvType;
|
import net.fabricmc.api.EnvType;
|
||||||
import net.fabricmc.api.Environment;
|
import net.fabricmc.api.Environment;
|
||||||
|
@ -17,10 +22,6 @@ import net.minecraft.world.level.block.Block;
|
||||||
import net.minecraft.world.level.block.state.BlockState;
|
import net.minecraft.world.level.block.state.BlockState;
|
||||||
import net.minecraft.world.level.block.state.StateDefinition;
|
import net.minecraft.world.level.block.state.StateDefinition;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Optional;
|
|
||||||
import java.util.function.Function;
|
|
||||||
|
|
||||||
@Environment(EnvType.CLIENT)
|
@Environment(EnvType.CLIENT)
|
||||||
public class ModelsHelper {
|
public class ModelsHelper {
|
||||||
public static BlockModel fromPattern(Optional<String> pattern) {
|
public static BlockModel fromPattern(Optional<String> pattern) {
|
||||||
|
@ -88,18 +89,21 @@ public class ModelsHelper {
|
||||||
|
|
||||||
public static class MultiPartBuilder {
|
public static class MultiPartBuilder {
|
||||||
|
|
||||||
private final static MultiPartBuilder BUILDER = new MultiPartBuilder();
|
//private final static MultiPartBuilder BUILDER = new MultiPartBuilder();
|
||||||
|
|
||||||
public static MultiPartBuilder create(StateDefinition<Block, BlockState> stateDefinition) {
|
public static MultiPartBuilder create(StateDefinition<Block, BlockState> stateDefinition) {
|
||||||
BUILDER.stateDefinition = stateDefinition;
|
// BUILDER.stateDefinition = stateDefinition;
|
||||||
BUILDER.modelParts.clear();
|
//BUILDER.modelParts.clear();
|
||||||
return BUILDER;
|
// return BUILDER;
|
||||||
|
return new MultiPartBuilder(stateDefinition);
|
||||||
}
|
}
|
||||||
|
|
||||||
private final List<ModelPart> modelParts = Lists.newArrayList();
|
private final List<ModelPart> modelParts = Lists.newArrayList();
|
||||||
private StateDefinition<Block, BlockState> stateDefinition;
|
private StateDefinition<Block, BlockState> stateDefinition;
|
||||||
|
|
||||||
private MultiPartBuilder() {}
|
private MultiPartBuilder(StateDefinition<Block, BlockState> stateDefinition) {
|
||||||
|
this.stateDefinition = stateDefinition;
|
||||||
|
}
|
||||||
|
|
||||||
public ModelPart part(ResourceLocation modelId) {
|
public ModelPart part(ResourceLocation modelId) {
|
||||||
ModelPart part = new ModelPart(modelId);
|
ModelPart part = new ModelPart(modelId);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue