Skip to content

Commit db91ba3

Browse files
committed
dont access ticking maps from outside
1 parent 26e225b commit db91ba3

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

cardinal-components-block/src/main/java/dev/onyxstudios/cca/internal/block/CardinalBlockInternals.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,7 @@ private static synchronized ComponentContainer.Factory<BlockEntity> getBeCompone
5858
factory = /* recursive call */ getBeComponentFactory(superclass);
5959

6060
// if parent class needs to tick, this one does, too!
61-
if(StaticBlockComponentPlugin.INSTANCE.clientTicking.contains(superclass)) StaticBlockComponentPlugin.INSTANCE.clientTicking.add(entityClass);
62-
if(StaticBlockComponentPlugin.INSTANCE.serverTicking.contains(superclass)) StaticBlockComponentPlugin.INSTANCE.serverTicking.add(entityClass);
61+
StaticBlockComponentPlugin.INSTANCE.registerTickersFor(entityClass, superclass);
6362
}
6463
entityContainerFactories.put(entityClass, factory);
6564
return factory;

cardinal-components-block/src/main/java/dev/onyxstudios/cca/internal/block/StaticBlockComponentPlugin.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,15 @@ public ComponentContainer.Factory<BlockEntity> buildDedicatedFactory(Class<? ext
122122
return builder.build();
123123
}
124124

125+
public void registerTickersFor(Class<? extends BlockEntity> entityClass, Class<? extends BlockEntity> parentClass) {
126+
if(this.clientTicking.contains(parentClass)) {
127+
this.clientTicking.add(entityClass);
128+
}
129+
if(this.serverTicking.contains(parentClass)) {
130+
this.serverTicking.add(entityClass);
131+
}
132+
}
133+
125134
private <C extends Component> void addToBuilder(ComponentContainer.Factory.Builder<BlockEntity> builder, Map.Entry<ComponentKey<?>, QualifiedComponentFactory<ComponentFactory<? extends BlockEntity, ?>>> entry) {
126135
@SuppressWarnings("unchecked") var key = (ComponentKey<C>) entry.getKey();
127136
@SuppressWarnings("unchecked") var factory = (ComponentFactory<BlockEntity, C>) entry.getValue().factory();

0 commit comments

Comments
 (0)